TAO_RTEvent
2.1.6
|
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: "[email protected]:2300 [email protected]: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 [email protected]: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.
|
private |
Mcast group to be used for all sources (or types) not explicitly mapped.
|
private |
Flag indicating whether this address server maps event source or event type to mcast groups.
|
private |