Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages | Examples

MessageServer Class Reference

#include <MessageServer.h>

Collaboration diagram for MessageServer:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MessageServer (const ACE_INET_Addr &addrServer, const ACE_INET_Addr &localAddr=ACE_INET_Addr())
 MessageServer (AddressClient *addrClient, bool takeOwnership=false, const ACE_INET_Addr &localAddr=ACE_INET_Addr())
 ~MessageServer (void)
int RegisterWithReactor (ACE_Reactor &theReactor)
int RemoveFromReactor (ACE_Reactor &theReactor, bool immediate=false)
AddressClientGetAddressClient ()
virtual int handle_input (ACE_HANDLE fd)
virtual ACE_HANDLE get_handle (void) const
int SendMessage (u_int originator, const void *msg, size_t len, u_int dest)

Protected Types

typedef MessageServer::MsgHdr MsgHdr_t
typedef std::multimap< u_int,
MessageClient * > 
ClientMap_t
typedef ClientMap_t::value_type ClientValue_t
typedef AddressClient::AddrList_t AddrList_t

Protected Member Functions

int RegisterClient (u_int id, MessageClient *client)
int RemoveClient (u_int id, MessageClient *client)
ClientMap_t::iterator RemoveClient_i (ClientMap_t::iterator it)

Protected Attributes

ACE_Thread_Mutex m_clientMutex
ClientMap_t m_clients
AddressClientm_pAddrClient
bool m_addrClientOwned
ACE_INET_Addr m_localAddr

Private Attributes

ACE_SOCK_Dgram m_socket
char m_buf [BUFSIZ]

Friends

class MessageClient

Member Typedef Documentation

typedef AddressClient::AddrList_t MessageServer::AddrList_t [protected]
 

Definition at line 182 of file MessageServer.h.

Referenced by SendMessage().

typedef std::multimap<u_int, MessageClient *> MessageServer::ClientMap_t [protected]
 

Definition at line 147 of file MessageServer.h.

typedef ClientMap_t::value_type MessageServer::ClientValue_t [protected]
 

Definition at line 150 of file MessageServer.h.

Referenced by RegisterClient().

typedef struct MessageServer::MsgHdr MessageServer::MsgHdr_t [protected]
 

Referenced by handle_input(), and SendMessage().


Constructor & Destructor Documentation

MessageServer::MessageServer const ACE_INET_Addr &  addrServer,
const ACE_INET_Addr &  localAddr = ACE_INET_Addr()
[explicit]
 

Definition at line 15 of file MessageServer.cpp.

References m_localAddr, and m_socket.

MessageServer::MessageServer AddressClient addrClient,
bool  takeOwnership = false,
const ACE_INET_Addr &  localAddr = ACE_INET_Addr()
[explicit]
 

Definition at line 29 of file MessageServer.cpp.

References m_localAddr, and m_socket.

MessageServer::~MessageServer void   ) 
 

Definition at line 46 of file MessageServer.cpp.

References m_socket.


Member Function Documentation

ACE_HANDLE MessageServer::get_handle void   )  const [virtual]
 

Definition at line 195 of file MessageServer.cpp.

References AddressClient::get_handle(), and m_socket.

AddressClient* MessageServer::GetAddressClient  )  [inline]
 

Definition at line 92 of file MessageServer.h.

Referenced by PropertyBasedCommFactory::Open().

int MessageServer::handle_input ACE_HANDLE  fd  )  [virtual]
 

Definition at line 202 of file MessageServer.cpp.

References m_buf, m_clientMutex, m_clients, MessageServer::MsgHdr::m_destination, MessageServer::MsgHdr::m_magicNumber, MessageServer::MsgHdr::m_msgLength, m_socket, MsgHdr_t, and RemoveClient_i().

int MessageServer::RegisterClient u_int  id,
MessageClient client
[protected]
 

Definition at line 101 of file MessageServer.cpp.

References AddressClient::AddBinding(), ClientValue_t, m_clients, m_localAddr, m_pAddrClient, and MessageClient::m_pServer.

Referenced by MessageClient::Register().

int MessageServer::RegisterWithReactor ACE_Reactor &  theReactor  ) 
 

Definition at line 58 of file MessageServer.cpp.

References m_pAddrClient, and AddressClient::RegisterWithReactor().

Referenced by PropertyBasedCommFactory::Open().

int MessageServer::RemoveClient u_int  id,
MessageClient client
[protected]
 

Definition at line 142 of file MessageServer.cpp.

References m_clientMutex, m_clients, and RemoveClient_i().

Referenced by MessageClient::Deregister().

MessageServer::ClientMap_t::iterator MessageServer::RemoveClient_i ClientMap_t::iterator  it  )  [protected]
 

Definition at line 166 of file MessageServer.cpp.

References m_clients, m_localAddr, m_pAddrClient, and AddressClient::RemoveBinding().

Referenced by handle_input(), and RemoveClient().

int MessageServer::RemoveFromReactor ACE_Reactor &  theReactor,
bool  immediate = false
 

Definition at line 82 of file MessageServer.cpp.

References m_pAddrClient, and AddressClient::RemoveFromReactor().

Referenced by PropertyBasedCommFactory::Close().

int MessageServer::SendMessage u_int  originator,
const void *  msg,
size_t  len,
u_int  dest
 

Definition at line 313 of file MessageServer.cpp.

References AddrList_t, AddressClient::GetBindings(), MessageServer::MsgHdr::m_destination, MessageServer::MsgHdr::m_msgLength, m_pAddrClient, m_socket, and MsgHdr_t.


Friends And Related Function Documentation

friend class MessageClient [friend]
 

Definition at line 32 of file MessageServer.h.


Member Data Documentation

bool MessageServer::m_addrClientOwned [protected]
 

Definition at line 188 of file MessageServer.h.

char MessageServer::m_buf[BUFSIZ] [private]
 

Definition at line 194 of file MessageServer.h.

Referenced by handle_input().

ACE_Thread_Mutex MessageServer::m_clientMutex [protected]
 

Definition at line 184 of file MessageServer.h.

Referenced by handle_input(), and RemoveClient().

ClientMap_t MessageServer::m_clients [protected]
 

Definition at line 185 of file MessageServer.h.

Referenced by handle_input(), RegisterClient(), RemoveClient(), and RemoveClient_i().

ACE_INET_Addr MessageServer::m_localAddr [protected]
 

Definition at line 190 of file MessageServer.h.

Referenced by MessageServer(), RegisterClient(), and RemoveClient_i().

AddressClient* MessageServer::m_pAddrClient [protected]
 

Definition at line 187 of file MessageServer.h.

Referenced by RegisterClient(), RegisterWithReactor(), RemoveClient_i(), RemoveFromReactor(), and SendMessage().

ACE_SOCK_Dgram MessageServer::m_socket [private]
 

Definition at line 193 of file MessageServer.h.

Referenced by get_handle(), handle_input(), MessageServer(), SendMessage(), and ~MessageServer().


The documentation for this class was generated from the following files:
Generated on Wed Sep 5 12:54:40 2007 for DSACSS Operational Code by  doxygen 1.3.9.1