channel Namespace Reference

basic enums for channel More...


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"


Detailed Description

basic enums for channel

Clock: a simple process-wide MT-safe timer


Typedef Documentation

typedef ACE_Singleton<ActiveTimerPointer, ACE_Recursive_Thread_Mutex> channel::Clock
 

Definition at line 92 of file Clock.h.

typedef void(* channel::MsgFreeCallback)(char *data)
 

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.

Definition at line 52 of file Msg.h.

typedef void(* channel::MsgFreeCallback)(char *data)
 

channel users should provide msg free callback

Definition at line 30 of file Marshaler.h.


Enumeration Type Documentation

enum channel::Interface_Role
 

Enumerator:
ACTIVE_ROLE 
PASSIVE_ROLE 

Definition at line 49 of file BaseDef.h.

enum channel::Interface_State
 

Enumerator:
CONN_NULL 
CONN_INIT 
CONN_ACTIVE 

Definition at line 38 of file BaseDef.h.

enum channel::Interface_Type
 

Enumerator:
UNIX_SOCK 
INET_SOCK 

Definition at line 44 of file BaseDef.h.

enum channel::Member_Type
 

Enumerator:
MEMBER_LOCAL 
MEMBER_REMOTE 
MEMBER_NUMBER 

Definition at line 32 of file BaseDef.h.

enum channel::MessageFamily
 

ids have 2 fields: family and type

definition of sample POD struct ids

Enumerator:
SYSTEM_MESSAGE 
APPLICATION_MESSAGE 

Definition at line 151 of file LinearIdTrait.h.

enum channel::Namespace_Type
 

Enumerator:
NAMESPACE_LINEAR 
NAMESPACE_HIERARCHICAL 
NAMESPACE_ASSOCIATIVE 

Definition at line 61 of file BaseDef.h.

enum channel::Oper_Type
 

Enumerator:
OPER_PUBLISH 
OPER_UNPUBLISH 
OPER_SUBSCRIBE 
OPER_UNSUBSCRIBE 

Definition at line 54 of file BaseDef.h.

enum channel::PubSub_Scope
 

Enumerator:
SCOPE_UNDEFINED 
SCOPE_LOCAL 
SCOPE_REMOTE 
SCOPE_GLOBAL 
SCOPE_NUMBER 

Definition at line 24 of file BaseDef.h.

enum channel::Status
 

Enumerator:
SUCCESS 
FAILURE 

Definition at line 19 of file BaseDef.h.


Function Documentation

template<class T>
void channel::DefaultMsgArrayFreeCallback char *  a  ) 
 

delete an array passed as msg

Definition at line 64 of file Msg.h.

template<class T>
void channel::DefaultMsgFreeCallback char *  c  ) 
 

delete a msg

Definition at line 56 of file Msg.h.

void channel::DefaultNoOpMsgFreeCallback char *   ) 
 

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 73 of file Msg.h.


Variable Documentation

u_short channel::DEFAULT_TCP_PORT = 3456
 

Definition at line 67 of file TcpSockConnector.h.

char* channel::DEFAULT_UNIX_ADDR = "chan_def_addr"
 

Definition at line 68 of file UnixSockConnector.h.

u_short channel::UNDEFINED_TCP_PORT = 0
 

Definition at line 66 of file TcpSockConnector.h.

Referenced by channel::TcpSockTransport< Channel >::close(), channel::TcpSockTransport< Channel >::open(), and channel::TcpSockTransport< Channel >::TcpSockTransport().

char* channel::UNDEFINED_UNIX_ADDR = "undefined"
 

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().

char* channel::unix_path_prefix = "/tmp/"
 

Definition at line 66 of file UnixSockConnector.h.

Referenced by channel::UnixSockTransport< Channel >::connect(), and channel::UnixSockTransport< Channel >::open().


Generated on Mon Feb 27 19:59:23 2006 for channel by  doxygen 1.4.6-NO