TAO_RTEvent
2.0.8
|
Implementation of RtecUDPAdmin idl interface, which returns a different multicast address based on event source (or event type. More...
#include <ECG_Complex_Address_Server.h>
Public Member Functions | |
virtual | ~TAO_ECG_Complex_Address_Server (void) |
Destructor. | |
int | init (const char *arg) |
virtual void | get_addr (const RtecEventComm::EventHeader &header, RtecUDPAdmin::UDP_Addr_out addr) |
virtual void | get_address (const RtecEventComm::EventHeader &header, RtecUDPAdmin::UDP_Address_out addr6) |
void | dump_content (void) |
Static Public Member Functions | |
static PortableServer::Servant_var < TAO_ECG_Complex_Address_Server > | create (int is_source_mapping=1) |
Create a new TAO_ECG_Complex_Address_Server object. | |
Protected Member Functions | |
TAO_ECG_Complex_Address_Server (int is_source_mapping=1) | |
Private Types | |
typedef ACE_Hash_Map_Manager_Ex < CORBA::Long, ACE_INET_Addr, ACE_Hash< CORBA::Long > , ACE_Equal_To< CORBA::Long > , ACE_Null_Mutex > | MAP |
Private Member Functions | |
int | add_entry (const char *key, const char *mcast_addr) |
Private Attributes | |
int | is_source_mapping_ |
MAP | mcast_mapping_ |
ACE_INET_Addr | default_addr_ |
Implementation of RtecUDPAdmin idl interface, which returns a different multicast address based on event source (or event type.
INITIALIZATION STRING FORMAT
The string is a sequence of <key><value> pairs separated by a single space, where <key> is event source (or type) and
is the corresponding mcast address. Example: "34@230.100.0.2:2300 45@230.100.123.43:2300" The string above represents two key-value pairs.
A special key "*" is used to specify the default mcast address, i.e., the one that will be returned for event sources that weren't explicitly specified in the initialization string. Example: "*@230.100.0.2:2300 45@230.100.123.43:2300"
typedef ACE_Hash_Map_Manager_Ex<CORBA::Long, ACE_INET_Addr, ACE_Hash<CORBA::Long>, ACE_Equal_To<CORBA::Long>, ACE_Null_Mutex> TAO_ECG_Complex_Address_Server::MAP [private] |
TAO_ECG_Complex_Address_Server::~TAO_ECG_Complex_Address_Server | ( | void | ) | [virtual] |
Destructor.
TAO_ECG_Complex_Address_Server::TAO_ECG_Complex_Address_Server | ( | int | is_source_mapping = 1 | ) | [protected] |
Constructor (protected). Clients can create new TAO_ECG_Complex_Address_Server objects using the static create() method. <is_source_mapping> flag indicates whether this server maps based on event header source or event header type.
int TAO_ECG_Complex_Address_Server::add_entry | ( | const char * | key, |
const char * | mcast_addr | ||
) | [private] |
Helper. Given key and mcast address in string form, add them to the mapping.
static PortableServer::Servant_var<TAO_ECG_Complex_Address_Server> TAO_ECG_Complex_Address_Server::create | ( | int | is_source_mapping = 1 | ) | [static] |
Create a new TAO_ECG_Complex_Address_Server object.
void TAO_ECG_Complex_Address_Server::dump_content | ( | void | ) |
Prints out complete content of the address server. Useful for debugging.
void TAO_ECG_Complex_Address_Server::get_addr | ( | const RtecEventComm::EventHeader & | header, |
RtecUDPAdmin::UDP_Addr_out | addr | ||
) | [virtual] |
void TAO_ECG_Complex_Address_Server::get_address | ( | const RtecEventComm::EventHeader & | header, |
RtecUDPAdmin::UDP_Address_out | addr6 | ||
) | [virtual] |
int TAO_ECG_Complex_Address_Server::init | ( | const char * | arg | ) |
Initializes the mapping from the <arg> string. See class notes for the expected format.
Mcast group to be used for all sources (or types) not explicitly mapped.
int TAO_ECG_Complex_Address_Server::is_source_mapping_ [private] |
Flag indicating whether this address server maps event source or event type to mcast groups.