TAO_CosNaming
2.4.0
|
Defines a wrapper class that holds the root Naming Context. More...
#include <Naming_Server.h>
Public Member Functions | |
TAO_Naming_Server (void) | |
Default constructor. More... | |
TAO_Naming_Server (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa, size_t context_size=ACE_DEFAULT_MAP_SIZE, ACE_Time_Value *timeout=0, bool resolve_for_existing_naming_service=true, const ACE_TCHAR *persistence_location=0, void *base_addr=TAO_NAMING_BASE_ADDR, int enable_multicast=1, int use_storable_context=0, int round_trip_timeout=0, int use_round_trip_timeout=0) | |
int | init (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa, size_t context_size=ACE_DEFAULT_MAP_SIZE, ACE_Time_Value *timeout=0, bool resolve_for_existing_naming_service=true, const ACE_TCHAR *persistence_location=0, void *base_addr=TAO_NAMING_BASE_ADDR, int enable_multicast=1, int use_storable_context=0, int round_trip_timeout=0, int use_round_trip_timeout=0) |
virtual int | init_with_orb (int argc, ACE_TCHAR *argv[], CORBA::ORB_ptr orb) |
virtual int | fini (void) |
Destroy the child POA created in init_with_orb . More... | |
virtual | ~TAO_Naming_Server (void) |
Destructor. More... | |
char * | naming_service_ior (void) |
Returns the IOR of the naming service. More... | |
CosNaming::NamingContext_ptr | operator-> (void) const |
Returns a NamingContext_ptr for the root Naming Context. More... | |
Protected Member Functions | |
virtual int | init_new_naming (CORBA::ORB_ptr orb, PortableServer::POA_ptr root_poa, const ACE_TCHAR *persistence_location, void *base_addr, size_t context_size, int enable_multicast, int use_storable_context, int round_trip_timeout=0, int use_round_trip_timeout=0) |
virtual int | parse_args (int argc, ACE_TCHAR *argv[]) |
parses the arguments. More... | |
int | write_ior_to_file (const char *ior_string, const char *file_name) |
Write the provided ior_string to the file. Return 0 if success. More... | |
virtual TAO_Storable_Naming_Context_Factory * | storable_naming_context_factory (size_t context_size) |
virtual TAO_Persistent_Naming_Context_Factory * | persistent_naming_context_factory (void) |
Protected Attributes | |
CosNaming::NamingContext_var | naming_context_ |
Root NamingContext_ptr. More... | |
TAO_IOR_Multicast * | ior_multicast_ |
The ior_multicast event handler. More... | |
CORBA::String_var | naming_service_ior_ |
The IOR string of the root naming context. More... | |
CORBA::ORB_var | orb_ |
The ORB. More... | |
PortableServer::POA_var | root_poa_ |
The Root POA. More... | |
PortableServer::POA_var | ns_poa_ |
The Naming Service POA. More... | |
const ACE_TCHAR * | ior_file_name_ |
File to output the Naming Service IOR. More... | |
const ACE_TCHAR * | pid_file_name_ |
File to output the process id. More... | |
size_t | context_size_ |
int | multicast_ |
If not zero multicast is enabled. More... | |
TAO_Persistent_Context_Index * | context_index_ |
const ACE_TCHAR * | persistence_file_name_ |
void * | base_address_ |
int | use_storable_context_ |
If not zero use flat file persistence. More... | |
int | use_servant_activator_ |
TAO_Storable_Naming_Context_Activator * | servant_activator_ |
int | use_redundancy_ |
int | round_trip_timeout_ |
If not zero use round trip timeout policy set to value specified. More... | |
int | use_round_trip_timeout_ |
Defines a wrapper class that holds the root Naming Context.
This class either finds an existing Naming Service (if the <resolve_for_existing_naming_service> flag is set) or creates one (if resolve_for_existing_naming_service flag isn't set or Naming Service was not found). This class also defines the operator-> so that <NamingContext> functions like <bind>, <unbind> .. can be called directly on a <TAO_Naming_Server> object, and be forwareded to the root Naming Context. This class is intended to simplify programs that want to play the role of a Naming Service server. To simplify programs that want to play the role of Naming Service clients, use <TAO_Naming_Client>. If a Naming Service is created locally, a TAO_IOR_Multicast event handler is created and installed on the ORB's reactor. This event handler allows other clients on the network to discover and use this Naming Service. Event handler listens on a multicast port for messages from clients looking for a Naming Service, and sends back the ior of the root Naming Context. For more information on how this bootstraping through a multicast process works, check out orbsvcs/orbsvcs/TAO_IOR_Multicast.*, implementation of <resolve_initial_references>, and orbsvcs/Naming/README.
TAO_Naming_Server::TAO_Naming_Server | ( | void | ) |
Default constructor.
TAO_Naming_Server::TAO_Naming_Server | ( | CORBA::ORB_ptr | orb, |
PortableServer::POA_ptr | poa, | ||
size_t | context_size = ACE_DEFAULT_MAP_SIZE , |
||
ACE_Time_Value * | timeout = 0 , |
||
bool | resolve_for_existing_naming_service = true , |
||
const ACE_TCHAR * | persistence_location = 0 , |
||
void * | base_addr = TAO_NAMING_BASE_ADDR , |
||
int | enable_multicast = 1 , |
||
int | use_storable_context = 0 , |
||
int | round_trip_timeout = 0 , |
||
int | use_round_trip_timeout = 0 |
||
) |
Constructor. Attempts to find an existing Naming Service if resolve_for_existing_naming_service is set to true. If it is false, or no Naming Service was found during a timeout period, create the Naming Service in this process. If creating the Naming Service locally, make the root context of size <context_size>, register it under the <poa>, and make the Naming Service persistent if <persistence_location> is not 0. (<persistence_location> specifies name of the file to use for persistent storage, <base_addr> specifies the address used for memory mapping <persistent_location> file). If <enable_multicast> is not zero then the service will respond to multicast location queries.
|
virtual |
Destructor.
|
virtual |
Destroy the child POA created in init_with_orb
.
int TAO_Naming_Server::init | ( | CORBA::ORB_ptr | orb, |
PortableServer::POA_ptr | poa, | ||
size_t | context_size = ACE_DEFAULT_MAP_SIZE , |
||
ACE_Time_Value * | timeout = 0 , |
||
bool | resolve_for_existing_naming_service = true , |
||
const ACE_TCHAR * | persistence_location = 0 , |
||
void * | base_addr = TAO_NAMING_BASE_ADDR , |
||
int | enable_multicast = 1 , |
||
int | use_storable_context = 0 , |
||
int | round_trip_timeout = 0 , |
||
int | use_round_trip_timeout = 0 |
||
) |
Initializer. Attempts to find an existing Naming Service if resolve_for_existing_naming_service is set to true. If it is false, or no Naming Service was found during a <timeout> period, create the Naming Service in this process. If creating the Naming Service locally, make the root context of size <context_size>, register it under the <poa>, and make the Naming Service persistent if <persistence_location> is not 0. (<persistence_location> specifies name of the file to use for persistent storage, <base_addr> specifies the address used for memory mapping <persistent_location> file). If <enable_multicast> is not zero then the service will respond to multicast location queries.
|
protectedvirtual |
Helper method: create Naming Service locally. Can be specialized to refine how Naming Service components are created and initialized Make the root context of size context_size, register it under the root_poa, and make the Naming Service persistent if persistence_location is not 0. (persistence_location specifies name of the file to use for persistent storage). If enable_multicast is not zero then the service will respond to multicast location queries.
|
virtual |
Initialize the Naming Service with the command line arguments and the ORB.
char * TAO_Naming_Server::naming_service_ior | ( | void | ) |
Returns the IOR of the naming service.
CosNaming::NamingContext_ptr TAO_Naming_Server::operator-> | ( | void | ) | const |
Returns a NamingContext_ptr for the root Naming Context.
|
protectedvirtual |
parses the arguments.
|
protectedvirtual |
|
protectedvirtual |
|
protected |
Write the provided ior_string to the file. Return 0 if success.
|
protected |
Address to be used for memory mapping Naming Service state file, identified by the <persistence_file_name_>.
|
protected |
Pointer to the object used to create/initialize the Naming Service when local persistent Naming Service is desired.
|
protected |
Size of the hash_table allocated upon the creation of the Naming Service context (if one is created). Note: all the contexts created under the given context will use the same size for their initial hash table allocations.
|
protected |
File to output the Naming Service IOR.
|
protected |
The ior_multicast event handler.
|
protected |
If not zero multicast is enabled.
|
protected |
Root NamingContext_ptr.
|
protected |
The IOR string of the root naming context.
|
protected |
The Naming Service POA.
|
protected |
The ORB.
|
protected |
Path to the file to be used to store/read in Naming Service persistent state.
|
protected |
File to output the process id.
|
protected |
The Root POA.
|
protected |
If not zero use round trip timeout policy set to value specified.
|
protected |
Need to retain the servant activator between calls to init_with_orb() and init_new_naming().
|
protected |
If not zero support redundant naming servers.
|
protected |
|
protected |
If not zero use servant activator that uses flat file persistence.
|
protected |
If not zero use flat file persistence.