diff options
author | Ossama Othman <ossama-othman@users.noreply.github.com> | 1999-05-21 18:20:13 +0000 |
---|---|---|
committer | Ossama Othman <ossama-othman@users.noreply.github.com> | 1999-05-21 18:20:13 +0000 |
commit | 87bd77939f9bedf74b32510faaf91d5b3baf5cff (patch) | |
tree | ab0ec0ea8e364943749ca26f57a47fabb9c764a8 | |
parent | 372c013100107d1da6b45b0de8cdb3e076b6549f (diff) | |
download | ATCD-87bd77939f9bedf74b32510faaf91d5b3baf5cff.tar.gz |
Quite a few updates to further abstract away protocol-specific stuff from the
ORB core.
-rw-r--r-- | TAO/tao/Acceptor_Registry.cpp | 30 | ||||
-rw-r--r-- | TAO/tao/IIOP_Acceptor.cpp | 46 | ||||
-rw-r--r-- | TAO/tao/ORB.cpp | 17 | ||||
-rw-r--r-- | TAO/tao/ORB_Core.cpp | 62 | ||||
-rw-r--r-- | TAO/tao/ORB_Core.h | 21 | ||||
-rw-r--r-- | TAO/tao/Pluggable.cpp | 1 | ||||
-rw-r--r-- | TAO/tao/UIOP_Acceptor.cpp | 31 | ||||
-rw-r--r-- | TAO/tao/default_resource.cpp | 2 | ||||
-rw-r--r-- | TAO/tao/params.cpp | 88 | ||||
-rw-r--r-- | TAO/tao/params.h | 51 | ||||
-rw-r--r-- | TAO/tao/params.i | 79 |
11 files changed, 245 insertions, 183 deletions
diff --git a/TAO/tao/Acceptor_Registry.cpp b/TAO/tao/Acceptor_Registry.cpp index 805b14b943c..7f2f1d0a741 100644 --- a/TAO/tao/Acceptor_Registry.cpp +++ b/TAO/tao/Acceptor_Registry.cpp @@ -8,6 +8,8 @@ #include "tao/GIOP.h" #include "tao/Protocol_Factory.h" #include "tao/ORB_Core.h" +#include "tao/params.h" + #include "ace/Auto_Ptr.h" TAO_Acceptor_Registry::TAO_Acceptor_Registry (void) @@ -80,24 +82,24 @@ TAO_Acceptor_Registry::open (TAO_ORB_Core *orb_core) // protocol_factories is in the following form // IOP1://addr1,addr2,...,addrN/;IOP2://addr1,...addrM/;... - ACE_Auto_Basic_Array_Ptr <char> - str (orb_core->orb_params ()->endpoints ().rep ()); + TAO_EndpointSetIterator first_endpoint = + orb_core->orb_params ()->endpoints ().begin (); - ACE_Auto_Basic_Array_Ptr <char> addr_str; - char *last_iop=0; + TAO_EndpointSetIterator last_endpoint = + orb_core->orb_params ()->endpoints ().end (); - for (char *iop_str = ACE_OS::strtok_r (str.get (), ";", &last_iop); - iop_str != 0; - iop_str = ACE_OS::strtok_r (0, ";", &last_iop)) + for (TAO_EndpointSetIterator endpoint = first_endpoint; + endpoint != last_endpoint; + ++endpoint) { + ACE_CString iop = (*endpoint); - ACE_CString iop (iop_str); int indx = iop.find ("://", 0); if ( indx == iop.npos) { ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) Invalid endpoint epecification.\n"), - -1); + "(%P|%t) Invalid endpoint epecification.\n"), + -1); } ACE_CString prefix = iop.substring (0, indx); @@ -108,10 +110,10 @@ TAO_Acceptor_Registry::open (TAO_ORB_Core *orb_core) char *last_addr=0; addr_str.reset (addrs.rep ()); for (char *astr = ACE_OS::strtok_r (addr_str.get (), ",", &last_addr); - astr != 0 ; - astr = ACE_OS::strtok_r (0, - ",", - &last_addr)) + astr != 0 ; + astr = ACE_OS::strtok_r (0, + ",", + &last_addr)) { ACE_CString address (astr); diff --git a/TAO/tao/IIOP_Acceptor.cpp b/TAO/tao/IIOP_Acceptor.cpp index e312e3d5940..605a3989355 100644 --- a/TAO/tao/IIOP_Acceptor.cpp +++ b/TAO/tao/IIOP_Acceptor.cpp @@ -78,40 +78,14 @@ TAO_IIOP_Acceptor::open (TAO_ORB_Core *orb_core, ACE_INET_Addr addr (address.c_str ()); if (this->base_acceptor_.open ( - // orb_core->orb_params ()->addr (), - addr, - orb_core->reactor(), - orb_core->server_factory ()->creation_strategy (), - orb_core->server_factory ()->accept_strategy (), - orb_core->server_factory ()->concurrency_strategy (), - orb_core->server_factory ()->scheduling_strategy ()) == -1) - return -1; - else { - // The following step is necessary since the user may have specified - // a 0 for a port number. Once we open the acceptor, we can recheck - // the address and get the accurate port number. - ACE_INET_Addr new_address; - - if (base_acceptor_.acceptor ().get_local_addr (new_address) == -1) - return -1; - - // @@ Fred&Ossama: Does this call make any sense now? There is - // no such thing as the ORB address anymore, right? And if - // this is removed then this whole branch of the if() - // statement is a noop. - - // Reset the address - orb_core->orb_params ()->addr (new_address); - - // iiop_acceptor->acceptor ().enable (ACE_CLOEXEC); - // this is done in the connection handlers open method. - - // @@ This is broken. The acceptor registry must be able to - // determine if a given profile refers to a collocated object. - // for now, this is done using a hash table and the INET_Addr - // as the key. This poa is the value I believe fredk. - // this->orb_core->add_to_collocation_table (); - - } - return 0; + // orb_core->orb_params ()->addr (), + addr, + orb_core->reactor(), + orb_core->server_factory ()->creation_strategy (), + orb_core->server_factory ()->accept_strategy (), + orb_core->server_factory ()->concurrency_strategy (), + orb_core->server_factory ()->scheduling_strategy ()) == -1) + return -1; // Failure + + return 0; // Success } diff --git a/TAO/tao/ORB.cpp b/TAO/tao/ORB.cpp index 20dfe14a46a..c222216d6b0 100644 --- a/TAO/tao/ORB.cpp +++ b/TAO/tao/ORB.cpp @@ -955,8 +955,20 @@ CORBA_ORB::create_stub_object (const TAO_ObjectKey &key, // // size_t pfile_count = // this->orb_core_->acceptor_registry ()->count_profiles (); + // { + // int s = 0; + // foreach a in Acceptors s+= a->count_endpoints (); + // return s; + // } // TAO_MProfile mp (pfile_count); - // this->orb_core_->acceptor_registry ()->fill_mprofile (key); + // this->orb_core_->acceptor_registry ()->fill_mprofile (mp, key); + // { + // foreach a in Acceptors a->add_profiles (mp, key); + // { + // foreach e in Endpoints + // mp.give_profile (new Right_Endpoint (e, key)); + // } + // } // // What do you think? @@ -975,7 +987,8 @@ CORBA_ORB::create_stub_object (const TAO_ObjectKey &key, ACE_NEW_THROW_EX (stub, TAO_Stub (id, mp, this->orb_core_), - CORBA::NO_MEMORY (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE)); + CORBA::NO_MEMORY (TAO_DEFAULT_MINOR_CODE, + CORBA::COMPLETED_MAYBE)); ACE_CHECK_RETURN (stub); return stub; diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp index b85c7defbdc..0d334b95467 100644 --- a/TAO/tao/ORB_Core.cpp +++ b/TAO/tao/ORB_Core.cpp @@ -12,9 +12,8 @@ #include "tao/debug.h" #include "tao/IOR_LookupTable.h" -#if !defined (__ACE_INLINE__) -# include "tao/ORB_Core.i" -#endif /* ! __ACE_INLINE__ */ +#include "tao/Connector_Registry.h" +#include "tao/Acceptor_Registry.h" ACE_RCSID(tao, ORB_Core, "$Id$") @@ -54,18 +53,12 @@ TAO_ORB_Core::TAO_ORB_Core (const char* orbid) // @@ This is not needed since the default server factory, fredk // is staticaly added to the service configurator. opt_for_collocation_ (1), - use_global_collocation_ (1), - preconnections_ (0) + use_global_collocation_ (1) { } TAO_ORB_Core::~TAO_ORB_Core (void) { - // This should probably be changed to use the allocator internal to - // here once that chunk is actually implemented. - if (preconnections_) - ACE_OS::free (preconnections_); - // Allocated in init() delete this->orb_params_; @@ -239,6 +232,27 @@ TAO_ORB_Core::init (int &argc, char *argv[]) arg_shifter.consume_arg (); } } + else if (ACE_OS::strcmp (current_arg, "-ORBendpoint") == 0) + { + // Each "endpoint" is of the form: + // + // protocol:V.v//addr1,addr2,...,addrN/ + // + // or: + // + // protocol://addr1,addr2,...,addrN/ + // + // where "V.v" is an optional version. All preconnect or endpoint + // strings should be of the above form(s). + + arg_shifter.consume_arg (); + + if (arg_shifter.is_parameter_next()) + { + this->orb_params ()->endpoints ((arg_shifter.get_current ())); + arg_shifter.consume_arg (); + } + } else if (ACE_OS::strcmp (current_arg, "-ORBhost") == 0) { // @@ Again, there may be multiple interfaces, multiple protocols @@ -254,8 +268,14 @@ TAO_ORB_Core::init (int &argc, char *argv[]) // fredk. // @@ Fred&Ossama: I think the option should just die or // simply have the same effect as an extra -ORBendpoint - // i.e. simply add another endpoin to the list in + // i.e. simply add another endpoint to the list in // orb_params(). + // @@ Fred&Carlos: This option now has the same effect as specifying + // an extra -ORBendpoint. Ideally, this option + // should be removed so that all INET specific + // stuff can be removed from the ORB core but I + // guess we need to leave it here for backward + // compatibility. C'est la vie. // Specify the name of the host (i.e., interface) on which // the server should listen. @@ -448,6 +468,7 @@ TAO_ORB_Core::init (int &argc, char *argv[]) // connects to tango:10015 twice, and watusi:10016 once: // // -ORBpreconnect tango:10015,tango:10015,watusi:10016 + if (arg_shifter.is_parameter_next ()) { preconnections = arg_shifter.get_current (); @@ -691,10 +712,10 @@ TAO_ORB_Core::init (int &argc, char *argv[]) int -TAO_ORB_Core::set_iiop_endpoint ( int dotted_decimal_addresses, - CORBA::UShort port, - ACE_CString &host, - ACE_CString &endpoint) +TAO_ORB_Core::set_iiop_endpoint (int dotted_decimal_addresses, + CORBA::UShort port, + ACE_CString &host, + ACE_CString &endpoint) { // No host specified; find it if (host.length () == 0) @@ -731,12 +752,7 @@ TAO_ORB_Core::set_iiop_endpoint ( int dotted_decimal_addresses, endpoint += buffer; endpoint += ACE_CString("/"); - // @@ more ugliness .... fredk - this->orb_params ()->addr (rendezvous); - this->orb_params ()->host (host); - return 0; - } int @@ -1341,6 +1357,12 @@ TAO_ORB_Core_instance (void) return CORBA::instance ()->orb_core_; } + +#if !defined (__ACE_INLINE__) +# include "tao/ORB_Core.i" +#endif /* ! __ACE_INLINE__ */ + + #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) template class ACE_Env_Value<int>; diff --git a/TAO/tao/ORB_Core.h b/TAO/tao/ORB_Core.h index 6001b56598e..bf4dd6e5492 100644 --- a/TAO/tao/ORB_Core.h +++ b/TAO/tao/ORB_Core.h @@ -8,7 +8,7 @@ // // = FILENAME // orb_core.h -// +//a // = AUTHOR // Chris Cleeland // @@ -25,12 +25,7 @@ #include "tao/params.h" #include "tao/POAC.h" -// @@ Fred&Ossama: In this file you only use pointers -// TAO_Connector_Registry and Acceptor_Registry, you should forward -// declare the classes, and not include the complete header file. -#include "tao/Connector_Registry.h" -#include "tao/Acceptor_Registry.h" - +// Forward declarations class TAO_Client_Connection_Handler; class TAO_POA; class TAO_POA_Current; @@ -38,6 +33,7 @@ class TAO_POA_Manager; class TAO_POA_Policies; class TAO_Acceptor; class TAO_Connector; +class TAO_Acceptor_Registry; class TAO_Connector_Registry; class TAO_Resource_Factory; @@ -156,7 +152,7 @@ public: // associated with the address. int add_to_ior_table (ACE_CString init_ref, TAO_IOR_LookupTable &table); - // Add the init_ref (objectID->IOR) to the Lookup Table. + // Add the init_ref (objectID->IOR) to the Lookup Table int leader_available (void); // returns the refcount on the leader @@ -317,11 +313,6 @@ protected: TAO_ORB_Parameters *orb_params_; // Parameters used by the ORB. - // @@ Depricated! - ACE_INET_Addr *addr_; - // The address of the endpoint on which we're listening for - // connections and requests. - char* orbid_; // The ORBid for this ORB. @@ -360,10 +351,6 @@ protected: // TRUE if we want to consider all ORBs in this address space // collocated. - char *preconnections_; - // A string of comma-separated <{host}>:<{port}> pairs used to - // pre-establish connections using <preconnect>. - #if defined (TAO_HAS_CORBA_MESSAGING) TAO_Policy_Manager policy_manager_; // The Policy_Manager for this ORB. diff --git a/TAO/tao/Pluggable.cpp b/TAO/tao/Pluggable.cpp index e8766b9fb80..d318979efc2 100644 --- a/TAO/tao/Pluggable.cpp +++ b/TAO/tao/Pluggable.cpp @@ -224,6 +224,7 @@ TAO_Connector::make_mprofile (const char *string, for (CORBA::ULong i = 0; i < profile_count; ++i) { begin += end + 1; + if (i < profile_count - 1) end = ior.find (endpoint_delimiter, begin); else diff --git a/TAO/tao/UIOP_Acceptor.cpp b/TAO/tao/UIOP_Acceptor.cpp index 16c1518e77c..e19d3cf51e4 100644 --- a/TAO/tao/UIOP_Acceptor.cpp +++ b/TAO/tao/UIOP_Acceptor.cpp @@ -80,33 +80,10 @@ TAO_UIOP_Acceptor::open (TAO_ORB_Core *orb_core, &UIOP_Creation_Strategy_, &UIOP_Accept_Strategy_, &UIOP_Concurrency_Strategy_, - &UIOP_Scheduling_Strategy_) == -1) - return -1; - else - { - // The following step is necessary since the user may have specified - // a 0 for a port number. Once we open the acceptor, we can recheck - // the address and get the accurate port number. - ACE_UNIX_Addr new_address; - - if (base_acceptor_.acceptor ().get_local_addr (new_address) == -1) - return -1; - - // Reset the address - // orb_core->orb_params ()->addr (new_address); - // The above call is broken since orb_params still wants a - // an ACE_INET_Addr. We need to give it an ACE_UNIX_Addr. - - // uiop_acceptor->acceptor ().enable (ACE_CLOEXEC); - // this is done in the connection handlers open method. - - // @@ This is broken. The acceptor registry must be able to - // determine if a given profile refers to a collocated object. - // for now, this is done using a hash table and the UNIX_Addr - // as the key. This poa is the value I believe fredk. - // this->orb_core->add_to_collocation_table (); - } - return 0; + &UIOP_Scheduling_Strategy_) != 0) + return -1; // Failure + + return 0; // Success } diff --git a/TAO/tao/default_resource.cpp b/TAO/tao/default_resource.cpp index b5d513fdfac..ed5a985ab5e 100644 --- a/TAO/tao/default_resource.cpp +++ b/TAO/tao/default_resource.cpp @@ -581,8 +581,6 @@ TAO_Allocated_Resources::~TAO_Allocated_Resources (void) // **************************************************************** -// **************************************************************** - TAO_Cached_Connector_Lock::TAO_Cached_Connector_Lock (void) { this->lock_ = TAO_ORB_Core_instance ()->server_factory ()->create_cached_connector_lock (); diff --git a/TAO/tao/params.cpp b/TAO/tao/params.cpp index fafb7007d57..44864877ae2 100644 --- a/TAO/tao/params.cpp +++ b/TAO/tao/params.cpp @@ -26,3 +26,91 @@ TAO_ORB_Parameters::~TAO_ORB_Parameters (void) // Delete the table. delete this->ior_lookup_table_; } + +int +TAO_ORB_Parameters::parse_endpoints (ACE_CString endpoints, + TAO_EndpointSet endpoints_list) +{ + // Parse the string into seperate endpoints, where `endpoints' is of + // the form: + // + // protocol1:V.v//addr1,...,addrN/;protocol2:W.w//addr1,...,addrN/;... + // + // A single endpoint, instead of several, can be added just as well. + + const char endpoints_delimiter = ';'; + + int length = endpoints.length (); + + if (endpoints[0] == endpoints_delimiter || + endpoints[length - 1] == endpoints_delimiter) + { + return -1; + // Failure: endpoints string has an empty endpoint at the beginning + // or the end of the string (e.g. ";uiop://foo;iiop:1.3//bar") + } + + if (length > 0) + { + int endpoints_count = 1; + + for (size_t i = 0; + i < ACE_static_cast (int, length); + ++i) + { + if (endpoints[i] == endpoints_delimiter) + endpoints_count++; + } + + int begin = 0; + int end = endpoints.find (endpoints_delimiter); + + for (int i = 1; i < endpoints_count; ++i) + { + if (end == 0) + { + // Handle case where two consecutive endpoints `;;' + // delimiters are found within the endpoints set. + // + // Is it enough to just skip over it or should we return an + // error? + continue; + } + + endpoints_list.insert (endpoints.substring (begin, end)); + // The substring call will work even if `end' is equal to + // ACE_CString::npos since that will just extract the substring + // from the offset `begin' to the end of the string. + + begin += end + 1; + end = endpoints_list.find (endpoints_delimiter, begin); + } + + return 0; // Success + } + else + { + return -1; + // Failure: Empty string + } +} + + +#if defined (ACE_EXPLICIT_TEMPLATE_INSTANTIATION) + +template class ACE_Node<ACE_Cstring>; + +template class ACE_Unbounded_Set<ACE_CString>; + +template class ACE_Unbounded_Set_Iterator<ACE_CString, ACE_Null_Mutex>; + +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) + +#pragma instantiate ACE_Node<ACE_Cstring> + +#pragma instantiate ACE_Unbounded_Set<ACE_CString> + +#pragma instantiate ACE_Unbounded_Set_Iterator<ACE_CString, ACE_Null_Mutex> + + +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/TAO/tao/params.h b/TAO/tao/params.h index 2aba292bf15..22eead8c7ce 100644 --- a/TAO/tao/params.h +++ b/TAO/tao/params.h @@ -17,7 +17,6 @@ #ifndef TAO_PARAMS_H #define TAO_PARAMS_H -#include "ace/INET_Addr.h" #include "tao/corbafwd.h" // Forward decls. @@ -35,6 +34,10 @@ class TAO_IOR_LookupTable; #define TAO_LOCAL_INLINE ACE_INLINE #endif /* ! __ACE_INLINE__ */ +typedef ACE_Unbounded_Set<ACE_CString> TAO_EndpointSet; + +typedef ACE_Unbounded_Set_Iterator<ACE_CString> TAO_EndpointSetIterator; + class TAO_Export TAO_ORB_Parameters // = TITLE // Parameters that are specific to the ORB. These parameters can @@ -54,21 +57,17 @@ public: ~TAO_ORB_Parameters (void); // Destructor. - const ACE_CString &endpoints (void); - void endpoints (ACE_CString &endpoints); + const endpoint_set &endpoints (void); + int preconnects (ACE_CString &preconnects); + void add_preconnect (ACE_CString &preconnect); + // Specifies the endpoints to pre-establish connections on. + + const endpoint_set &endpoints (void); + int endpoints (ACE_CString &endpoints); void add_endpoint (ACE_CString &endpoint); - // specifies the endpoints on which this server is willing to + // Specifies the endpoints on which this server is willing to // listen for requests. - const ACE_INET_Addr &addr (void) const; - void addr (const ACE_INET_Addr &addr); - // Set/Get the address on which we're listening. - // @@ this is depricated!! fredk - - const char *host (void) const; - void host (const ACE_CString &host); - // Set/Get the hostname. - const char *init_ref (void) const; void init_ref (const ACE_CString &init_ref); // Set/Get the Init Reference of an arbitrary ObjectID. @@ -140,17 +139,25 @@ public: // Set/Get the Init Reference of an arbitrary ObjectID. private: - ACE_CString endpoints_; - // list of endpoints this server is willing to accept requests - // on. + // Each "endpoint" is of the form: + // + // protocol:V.v//addr1,addr2,...,addrN/ + // + // or: + // + // protocol://addr1,addr2,...,addrN/ + // + // where "V.v" is an optional version. All preconnect or endpoint + // strings should be of the above form(s). + + int parse_endpoints (ACE_CString &endpoints, TAO_EndpointSet endpoints_list); - ACE_INET_Addr addr_; - // host + port number we are listening on - // @@ depricated! fredk + endpoint_set preconnections_list_; + // List of endpoints used to pre-establish connections. - ACE_CString host_; - // host name - // @@ depricated! fredk + endpoint_set endpoints_list_; + // List of endpoints this server is willing to accept requests + // on. ACE_CString name_service_ior_; // The IOR of our configured Naming Service. diff --git a/TAO/tao/params.i b/TAO/tao/params.i index 1e000bd815a..b96583d0b6e 100644 --- a/TAO/tao/params.i +++ b/TAO/tao/params.i @@ -15,6 +15,42 @@ // ============================================================================ ACE_INLINE int +TAO_ORB_Parameters::preconnects (ACE_CString &preconnects) +{ + return this->parse_endpoints (preconnects, this->preconnects_list_); +} + +ACE_INLINE const endpoint_set & +TAO_ORB_Parameters::preconnects (void) +{ + return this->preconnects_list_; +} + +ACE_INLINE void +TAO_ORB_Parameters::add_preconnect (ACE_CString &preconnect) +{ + this->preconnects_list_.insert (preconnect); +} + +ACE_INLINE int +TAO_ORB_Parameters::endpoints (ACE_CString &endpoints) +{ + return this->parse_endpoints (endpoints, this->endpoints_list_); +} + +ACE_INLINE const endpoint_set & +TAO_ORB_Parameters::endpoints (void) +{ + return this->endpoints_list_; +} + +ACE_INLINE void +TAO_ORB_Parameters::add_endpoint (ACE_CString &endpoint) +{ + this->endpoints_list_.insert (endpoint); +} + +ACE_INLINE int TAO_ORB_Parameters::sock_rcvbuf_size (void) const { return sock_rcvbuf_size_; @@ -74,37 +110,6 @@ TAO_ORB_Parameters::use_dotted_decimal_addresses (int x) this->use_dotted_decimal_addresses_ = x; } -ACE_INLINE const ACE_CString & -TAO_ORB_Parameters::endpoints (void) -{ - return this->endpoints_; -} - -ACE_INLINE void -TAO_ORB_Parameters::endpoints (ACE_CString &endpoints) -{ - this->endpoints_ = endpoints; -} - -ACE_INLINE void -TAO_ORB_Parameters::add_endpoint (ACE_CString &endpoint) -{ - this->endpoints_ += ";"; - this->endpoints_ += endpoint; -} - -ACE_INLINE void -TAO_ORB_Parameters::addr (const ACE_INET_Addr &addr) -{ - this->addr_ = addr; -} - -ACE_INLINE const ACE_INET_Addr & -TAO_ORB_Parameters::addr (void) const -{ - return this->addr_; -} - ACE_INLINE void TAO_ORB_Parameters::init_ref (const ACE_CString &init_ref) { @@ -130,18 +135,6 @@ TAO_ORB_Parameters::name_service_ior (void) const } ACE_INLINE void -TAO_ORB_Parameters::host (const ACE_CString &h) -{ - this->host_ = h; -} - -ACE_INLINE const char * -TAO_ORB_Parameters::host (void) const -{ - return this->host_.c_str (); -} - -ACE_INLINE void TAO_ORB_Parameters::name_service_port (CORBA::UShort port) { this->name_service_port_ = port; |