Loading...
Searching...
No Matches
DataDistributionManager.h File Reference

DataDistributionManager library. More...

Go to the source code of this file.

Classes

struct  ClusterHealthElement
 Contains information needed from the cluster management. More...
 
class  ITimeMeasureWrapper
 Interface to manage time information. More...
 
class  TimeMeasureWrapper
 Class to allocate an ITimeMeasureWrapper. More...
 
class  IDataDistributionLog
 Interface to reports logging. More...
 
class  IDataDistributionCallback
 The C++ callback interface to be externally implemented. More...
 
class  DataDistributionCallback
 Class to convert C style callback into C++ callback. More...
 
struct  UnderlyingEventData
 Class to reports information from transport subsystem. More...
 
class  IDataDistributionChannel
 The basic interface for all channel. More...
 
class  IDataDistributionChannelCallback
 The C++ callback interface to be externally implemented. More...
 
class  DataDistributionChannelCallback
 Class to convert C style dataDistributionUnderlyingEvent callback into IDataDistributionChannelCallback C++ callback. More...
 
class  IDataDistributionMastershipCallback
 The C++ callback interface to be externally implemented. More...
 
class  DataDistributionMastershipCallback
 Class to convert C style callbacks into IDataDistributionMastershipCallback C++ callback. More...
 
class  IDataDistributionChannelBase
 Base interface to be implemented from channel manager. More...
 
class  IDataDistributionTransport
 Interface to be implemented from transport subsystem. More...
 
class  IDataDistributionSubsystem
 Interface to be implemented from subsystem. More...
 
class  IDataDistributionMastershipCommon
 Interface to be implemented from mastership subsystem. More...
 
class  IDataDistribution
 Interface to be implemented from common manager. More...
 
class  DataDistribution
 Main entry point to activate an instance of IDataDistribution. More...
 

Typedefs

typedef const char *(FUNCALL * dataDistributionConfigurationCb) (const void *opaque, const char *channelName, const char *key, const char *value)
 C-style callback invoked for each key-value in the configuration.
 
typedef void(FUNCALL * dataDistributionLoggingCb) (const void *opaque, const DDM_LOG_LEVEL level, const char *source, const char *function, const char *logStr)
 C-style callback invoked when a log is emitted from subsystem.
 
typedef void(FUNCALL * dataDistributionCompletelyDisconnectedCb) (const void *opaque, const char *channelName, const char *reason)
 C-style callback invoked on a complete disconnection .
 
typedef struct DDM_EXPORT UnderlyingEventData UnderlyingEventData
 Class to reports information from transport subsystem.
 
typedef struct DDM_EXPORT UnderlyingEventDatapUnderlyingEventData
 
typedef void(FUNCALL * dataDistributionUnderlyingEvent) (const void *opaque, const CHANNEL_HANDLE_PARAMETER, const UnderlyingEventData *uEvent)
 C-style callback invoked to report UnderlyingEventData.
 
typedef void(FUNCALL * dataDistributionOnClusterStateChange) (void *opaque, DDM_CLUSTEREVENT change, int64_t serverid)
 C-style callback invoked to report cluster state change.
 
typedef void(FUNCALL * dataDistributionOnStateChange) (void *opaque, DDM_INSTANCE_STATE newState, DDM_INSTANCE_STATE oldState)
 C-style callback invoked to report a state change.
 
typedef void(FUNCALL * dataDistributionOnStateReady) (void *opaque, void *pState, int64_t len)
 C-style callback invoked when a state transfer is completed.
 
typedef void(FUNCALL * dataDistributionOnRequestedState) (void *opaque, void **pState, size_t *len)
 C-style callback invoked when a state transfer is requested.
 
typedef void(FUNCALL * dataDistributionOnMultiplePrimary) (void *opaque, int64_t myId, int64_t otherId)
 C-style callback invoked when multiple primary server are detected.
 
typedef void(FUNCALL * dataDistributionFirstStateChange) (void *opaque, DDM_INSTANCE_STATE newState)
 C-style callback invoked to report a first state change.
 
typedef void(FUNCALL * dataDistributionChangingState) (void *opaque, DDM_INSTANCE_STATE actualState, DDM_INSTANCE_STATE futureState)
 C-style callback invoked to report a starting instance state change.
 
typedef void(FUNCALL * dataDistributionChangedState) (void *opaque, DDM_INSTANCE_STATE actualState)
 C-style callback invoked to report a finished instance state change.
 
typedef std::map< int64_t, ClusterHealthElement * > ClusterHealth
 Association map between server id and ClusterHealthElement.
 
typedef std::map< int64_t, ClusterHealthElement * >::const_iterator ClusterHealthIterator
 Iterator of ClusterHealth.
 

Detailed Description

DataDistributionManager library.

DataDistributionManager.h contains the public C++ API for DataDistributionManager. The API is documented in this file as comments prefixing the class, function, type, enum, define, etc. The C++ interface is STD C++ '03 compliant and adheres to the Google C++ Style Guide.

Typedef Documentation

◆ ClusterHealth

typedef std::map<int64_t, ClusterHealthElement *> ClusterHealth

Association map between server id and ClusterHealthElement.

◆ ClusterHealthIterator

typedef std::map<int64_t,ClusterHealthElement*>::const_iterator ClusterHealthIterator

Iterator of ClusterHealth.

◆ dataDistributionChangedState

typedef void(FUNCALL * dataDistributionChangedState) (void *opaque, DDM_INSTANCE_STATE actualState)

C-style callback invoked to report a finished instance state change.

C-style callback invoked when subsystem needs to report a state change.

actualState reports the actual DDM_INSTANCE_STATE state

The callback's opaque argument is the opaque set with DataDistributionMastershipCallback::create().

◆ dataDistributionChangingState

typedef void(FUNCALL * dataDistributionChangingState) (void *opaque, DDM_INSTANCE_STATE actualState, DDM_INSTANCE_STATE futureState)

C-style callback invoked to report a starting instance state change.

C-style callback invoked when subsystem needs to report a state change.

futureState reports the future DDM_INSTANCE_STATE state actualState reports the actual DDM_INSTANCE_STATE state

The callback's opaque argument is the opaque set with DataDistributionMastershipCallback::create().

◆ dataDistributionCompletelyDisconnectedCb

typedef void(FUNCALL * dataDistributionCompletelyDisconnectedCb) (const void *opaque, const char *channelName, const char *reason)

C-style callback invoked on a complete disconnection .

C-style callback invoked when subsystem detects a complete disconnection from central server or other peers. channelName reports the disconnected channel reason is the reason of disconnection.

The callback's opaque argument is the opaque set with DataDistributionCallback::create().

◆ dataDistributionConfigurationCb

typedef const char *(FUNCALL * dataDistributionConfigurationCb) (const void *opaque, const char *channelName, const char *key, const char *value)

C-style callback invoked for each key-value in the configuration.

C-style callback usable to override configuration parameters in some special conditions. channelName reports the channel involved (null for global parameters), key is the parameter key to be checked and value is the actual value.

Returns
value if no change is needed, otherwise any new string value according to the expected parameter type

The callback's opaque argument is the opaque set with DataDistributionCallback::create().

◆ dataDistributionFirstStateChange

typedef void(FUNCALL * dataDistributionFirstStateChange) (void *opaque, DDM_INSTANCE_STATE newState)

C-style callback invoked to report a first state change.

C-style callback invoked when subsystem needs to to report a first state change

newState DDM_INSTANCE_STATE state

The callback's opaque argument is the opaque set with DataDistributionMastershipCallback::create().

◆ dataDistributionLoggingCb

typedef void(FUNCALL * dataDistributionLoggingCb) (const void *opaque, const DDM_LOG_LEVEL level, const char *source, const char *function, const char *logStr)

C-style callback invoked when a log is emitted from subsystem.

C-style callback usable to receive log information. level is the DDM_LOG_LEVEL of the log reported source is the module source name of the log function is the function, within the module, reporting the log

Returns
logStr is the reported log string
See also
IDataDistributionLog::Log

The callback's opaque argument is the opaque set with DataDistributionCallback::create().

◆ dataDistributionOnClusterStateChange

typedef void(FUNCALL * dataDistributionOnClusterStateChange) (void *opaque, DDM_CLUSTEREVENT change, int64_t serverid)

C-style callback invoked to report cluster state change.

C-style callback invoked when subsystem needs to report a cluster state change.

change reports the DDM_CLUSTEREVENT event serverid the server id reporting the change

The callback's opaque argument is the opaque set with DataDistributionMastershipCallback::create().

◆ dataDistributionOnMultiplePrimary

typedef void(FUNCALL * dataDistributionOnMultiplePrimary) (void *opaque, int64_t myId, int64_t otherId)

C-style callback invoked when multiple primary server are detected.

C-style callback invoked when subsystem needs to report there are multiple primary server are detected

myId my primary identifier otherId other primary identifier

The callback's opaque argument is the opaque set with DataDistributionMastershipCallback::create().

◆ dataDistributionOnRequestedState

typedef void(FUNCALL * dataDistributionOnRequestedState) (void *opaque, void **pState, size_t *len)

C-style callback invoked when a state transfer is requested.

C-style callback invoked when subsystem needs to request a state transfer. Fill pState and len with state information

pState pointer to the buffer of the state len the length of the buffer

The callback's opaque argument is the opaque set with DataDistributionMastershipCallback::create().

◆ dataDistributionOnStateChange

typedef void(FUNCALL * dataDistributionOnStateChange) (void *opaque, DDM_INSTANCE_STATE newState, DDM_INSTANCE_STATE oldState)

C-style callback invoked to report a state change.

C-style callback invoked when subsystem needs to report a state change.

newState reports the new DDM_INSTANCE_STATE state oldState reports the new DDM_INSTANCE_STATE state

The callback's opaque argument is the opaque set with DataDistributionMastershipCallback::create().

◆ dataDistributionOnStateReady

typedef void(FUNCALL * dataDistributionOnStateReady) (void *opaque, void *pState, int64_t len)

C-style callback invoked when a state transfer is completed.

C-style callback invoked when subsystem needs to report a completed state transfer

pState pointer to the buffer of the state len the length of the buffer

The callback's opaque argument is the opaque set with DataDistributionMastershipCallback::create().

◆ dataDistributionUnderlyingEvent

typedef void(FUNCALL * dataDistributionUnderlyingEvent) (const void *opaque, const CHANNEL_HANDLE_PARAMETER, const UnderlyingEventData *uEvent)

C-style callback invoked to report UnderlyingEventData.

C-style callback invoked when subsystem needs to report an UnderlyingEventData. channelHandle reports the channel handle source of UnderlyingEventData uEvent the UnderlyingEventData event

The callback's opaque argument is the opaque set with DataDistributionChannelCallback::create().

◆ pUnderlyingEventData

typedef struct DDM_EXPORT UnderlyingEventData * pUnderlyingEventData

◆ UnderlyingEventData

typedef struct DDM_EXPORT UnderlyingEventData UnderlyingEventData

Class to reports information from transport subsystem.

This class allocates an UnderlyingEventData with information from subsystem