TAO_RTEvent
2.1.2
|
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"
|
private |
|
virtual |
Destructor.
|
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.
|
private |
Helper. Given key and mcast address in string form, add them to the mapping.
|
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.
|
virtual |
|
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.
Flag indicating whether this address server maps event source or event type to mcast groups.