Classes | |
class | Filter |
class | Translator |
class | Binder |
class | BinderRegistry |
class | Channel |
class | ActiveTimer |
class | ActiveTimerPointer |
class | Quit_Handler |
class | Connector |
class | ConnHandler |
class | ConnInfo |
struct | StringPathId |
class | IdTrait< StringPathId< separator > > |
trait class for string pathname id type More... | |
class | Interface |
parent class of all kinds of interfaces More... | |
class | LocalInterface |
class | RemoteInterface |
class | IdTrait< int > |
trait class for integer ids More... | |
struct | StructId |
class | IdTrait< StructId > |
trait class for sample POD struct ids More... | |
class | LocalConnector |
class | MapRouter |
class | Marshaler |
marshaling strategy objects More... | |
class | MarshalerRegistry |
class | Member |
a member of channels, either Source or Destination More... | |
class | Source< Channel, NAMESPACE_LINEAR > |
channel src_points, where msgs are published and sent More... | |
class | Destination< Channel, NAMESPACE_LINEAR > |
class | Source< Channel, NAMESPACE_HIERARCHICAL > |
channel src_points, where msgs are published and sent More... | |
class | Destination< Channel, NAMESPACE_HIERARCHICAL > |
class | Callback |
class | MsgDataHolder |
a simple reference counted msgs holder More... | |
class | DefaultMarshaler |
default msg marhsal/demarshal : treat data as binary block More... | |
struct | Msg |
the Message class for channel internal message routing More... | |
struct | Channel_Info_Msg |
struct | PubSub_Info_Msg |
class | ChannelMsg_Marshaler |
marshal/demarshal for Channel_Info_Msg More... | |
class | PubSubMsg_Marshaler |
marshal/demarshal for PubSub_Info_Msg More... | |
class | Out_Bound_Msg |
class | OutputMgr |
mgr of output thread pool More... | |
class | Port |
class | RouterBase |
class | Tcp_ConnHandler |
class | Tcp_Acceptor |
Tcp_Acceptor: waiting for remote connections at announced address. More... | |
class | Tcp_Connector |
Tcp_Connector: connect actively to remote channel. More... | |
class | TcpSockTransport |
transport class for connection using tcp socket More... | |
class | TrieRouter |
class | Unix_ConnHandler |
class | Unix_Acceptor |
Unix_Acceptor: waiting for remote connections at announced address. More... | |
class | Unix_Connector |
Unix_Connector: connect actively to remote channel. More... | |
class | UnixSockTransport |
transport class for connection using unix domain socket More... | |
class | IdTrait< std::string > |
trait class for string ids More... | |
Typedefs | |
typedef ACE_Singleton< ActiveTimerPointer, ACE_Recursive_Thread_Mutex > | Clock |
typedef void(* | MsgFreeCallback )(char *data) |
channel users should provide msg free callback | |
typedef void(* | MsgFreeCallback )(char *data) |
msg free callback | |
Enumerations | |
enum | Status { SUCCESS, FAILURE } |
enum | PubSub_Scope { SCOPE_UNDEFINED = -1, SCOPE_LOCAL = 0, SCOPE_REMOTE, SCOPE_GLOBAL, SCOPE_NUMBER } |
enum | Member_Type { MEMBER_LOCAL = 0, MEMBER_REMOTE, MEMBER_NUMBER } |
enum | Interface_State { CONN_NULL = 0, CONN_INIT, CONN_ACTIVE } |
enum | Interface_Type { UNIX_SOCK, INET_SOCK } |
enum | Interface_Role { ACTIVE_ROLE, PASSIVE_ROLE } |
enum | Oper_Type { OPER_PUBLISH = 0, OPER_UNPUBLISH, OPER_SUBSCRIBE, OPER_UNSUBSCRIBE } |
enum | Namespace_Type { NAMESPACE_LINEAR, NAMESPACE_HIERARCHICAL, NAMESPACE_ASSOCIATIVE } |
enum | MessageFamily { SYSTEM_MESSAGE, APPLICATION_MESSAGE } |
ids have 2 fields: family and type More... | |
Functions | |
template<class T> | |
void | DefaultMsgFreeCallback (char *c) |
delete a msg | |
template<class T> | |
void | DefaultMsgArrayFreeCallback (char *a) |
delete an array passed as msg | |
void | DefaultNoOpMsgFreeCallback (char *) |
Variables | |
u_short | UNDEFINED_TCP_PORT = 0 |
u_short | DEFAULT_TCP_PORT = 3456 |
char * | unix_path_prefix = "/tmp/" |
char * | UNDEFINED_UNIX_ADDR = "undefined" |
char * | DEFAULT_UNIX_ADDR = "chan_def_addr" |
Clock: a simple process-wide MT-safe timer
|
|
|
msg free callback 2 reasons we cannot directly use ACE_Message_Block for all msg passing: 1> channel msg types are not limited to integers. 2> the design of ACE_Message_Block refuses to free any foreign msg payload whose memory is not mallocated by msg_block. We have to support "Deleting foriegn msgs from inside channel" by asking the msg sender/creator to provide msg_free callback functions, which are better solution than simple-delete because we can call some foriegn message class destructors we only use ACE_Message_Block for queing msgs in ACE_Message_Que so here is a simplified design based on ACE_Message_Block. this Msg class only acting as holder of foriegn data, never allocate data space. |
|
channel users should provide msg free callback
Definition at line 30 of file Marshaler.h. |
|
|
|
|
|
|
|
|
|
ids have 2 fields: family and type definition of sample POD struct ids Definition at line 151 of file LinearIdTrait.h. |
|
|
|
|
|
|
|
|
|
delete an array passed as msg
|
|
delete a msg
|
|
use no-op free callback when : 1. msg data is static or on stack 2. senders want to keep the msgs and dont want receiver to delete it |
|
Definition at line 67 of file TcpSockConnector.h. |
|
Definition at line 68 of file UnixSockConnector.h. |
|
Definition at line 66 of file TcpSockConnector.h. Referenced by channel::TcpSockTransport< Channel >::close(), channel::TcpSockTransport< Channel >::open(), and channel::TcpSockTransport< Channel >::TcpSockTransport(). |
|
Definition at line 67 of file UnixSockConnector.h. Referenced by channel::UnixSockTransport< Channel >::close(), cvm::cvm::CvmBaseConnector< Chan > >::init(), channel::UnixSockTransport< Channel >::open(), and channel::UnixSockTransport< Channel >::UnixSockTransport(). |
|
Definition at line 66 of file UnixSockConnector.h. Referenced by channel::UnixSockTransport< Channel >::connect(), and channel::UnixSockTransport< Channel >::open(). |