From 440890527bd72f2644cf4d023c429f038560e0b1 Mon Sep 17 00:00:00 2001 From: bala Date: Wed, 12 Jan 2000 00:47:43 +0000 Subject: Merged working withTAO 1.12 --- TAO/tao/Acceptor_Registry.cpp | 129 ++++++----- TAO/tao/Asynch_Invocation.cpp | 17 +- TAO/tao/Buffering_Constraint_Policy.cpp | 22 +- TAO/tao/Connector_Registry.cpp | 113 +++++----- TAO/tao/GIOP_Message_Base.cpp | 10 +- TAO/tao/GIOP_Server_Request.cpp | 1 + TAO/tao/IIOP_Acceptor.cpp | 39 ++-- TAO/tao/IIOP_Connect.cpp | 66 ++++-- TAO/tao/IIOP_Connector.cpp | 25 ++- TAO/tao/IIOP_Profile.cpp | 22 +- TAO/tao/IIOP_Transport.cpp | 54 +++-- TAO/tao/IOR_LookupTable.cpp | 30 ++- TAO/tao/InterfaceC.cpp | 4 +- TAO/tao/Invocation.cpp | 57 ++--- TAO/tao/MessagingC.cpp | 41 ++-- TAO/tao/MessagingS.cpp | 51 +++-- TAO/tao/Messaging_Policy_i.cpp | 83 ++++--- TAO/tao/ORB.cpp | 121 +++++----- TAO/tao/ORB_Core.cpp | 379 ++++++++++++++++---------------- TAO/tao/Object.cpp | 26 ++- TAO/tao/Pluggable.cpp | 127 +++++------ TAO/tao/Policy_Manager.cpp | 8 +- TAO/tao/PollableC.cpp | 18 +- TAO/tao/PollableS.cpp | 6 +- TAO/tao/Pool_Per_Endpoint.cpp | 16 +- TAO/tao/Reply_Dispatcher.cpp | 10 +- TAO/tao/Request.cpp | 6 +- TAO/tao/Stub.cpp | 37 ++-- TAO/tao/Sync_Strategies.cpp | 26 +-- TAO/tao/TAOC.cpp | 10 +- TAO/tao/TAOS.cpp | 10 +- TAO/tao/TAO_Internal.cpp | 7 +- TAO/tao/Typecode_Constants.cpp | 15 +- TAO/tao/UIOP_Acceptor.cpp | 7 +- TAO/tao/UIOP_Connect.cpp | 29 ++- TAO/tao/UIOP_Connector.cpp | 13 +- TAO/tao/UIOP_Profile.cpp | 18 +- TAO/tao/UIOP_Transport.cpp | 31 ++- TAO/tao/append.cpp | 28 +-- TAO/tao/decode.cpp | 24 +- TAO/tao/default_resource.cpp | 79 +++---- TAO/tao/params.cpp | 34 +-- TAO/tao/skip.cpp | 29 +-- 43 files changed, 989 insertions(+), 889 deletions(-) diff --git a/TAO/tao/Acceptor_Registry.cpp b/TAO/tao/Acceptor_Registry.cpp index aee7db88431..cf316bd0ed8 100644 --- a/TAO/tao/Acceptor_Registry.cpp +++ b/TAO/tao/Acceptor_Registry.cpp @@ -2,7 +2,7 @@ // $Id$ #include "tao/Acceptor_Registry.h" -#include "tao/Stub.h" +#include "tao/Profile.h" #include "tao/Environment.h" #include "tao/ORB_Core.h" #include "tao/params.h" @@ -18,22 +18,27 @@ ACE_RCSID(tao, Acceptor_Registry, "$Id$") TAO_Acceptor_Registry::TAO_Acceptor_Registry (void) - : acceptors_ () + : acceptors_ (0), + size_ (0) { } TAO_Acceptor_Registry::~TAO_Acceptor_Registry (void) { this->close_all (); + + delete [] this->acceptors_; + this->acceptors_ = 0; + this->size_ = 0; } size_t TAO_Acceptor_Registry::endpoint_count (void) { int count = 0; - TAO_AcceptorSetItor end = this->end (); + TAO_AcceptorSetIterator end = this->end (); - for (TAO_AcceptorSetItor i = this->begin (); i != end; ++i) + for (TAO_AcceptorSetIterator i = this->begin (); i != end; ++i) count += (*i)->endpoint_count (); return count; @@ -43,9 +48,9 @@ int TAO_Acceptor_Registry::make_mprofile (const TAO_ObjectKey &object_key, TAO_MProfile &mprofile) { - TAO_AcceptorSetItor end = this->end (); + TAO_AcceptorSetIterator end = this->end (); - for (TAO_AcceptorSetItor i = this->begin (); i != end; ++i) + for (TAO_AcceptorSetIterator i = this->begin (); i != end; ++i) if ((*i)->create_mprofile (object_key, mprofile) == -1) return -1; @@ -56,9 +61,9 @@ TAO_Acceptor_Registry::make_mprofile (const TAO_ObjectKey &object_key, int TAO_Acceptor_Registry::is_collocated (const TAO_MProfile &mprofile) { - TAO_AcceptorSetItor end = this->end (); + TAO_AcceptorSetIterator end = this->end (); - for (TAO_AcceptorSetItor i = this->begin (); i != end; ++i) + for (TAO_AcceptorSetIterator i = this->begin (); i != end; ++i) { for (TAO_PHandle j = 0; j != mprofile.profile_count (); @@ -84,13 +89,11 @@ TAO_Acceptor_Registry::open (TAO_ORB_Core *orb_core, // protocol_factories is in the following form // IOP1://addr1,addr2,...,addrN/;IOP2://addr1,...addrM/;... - TAO_EndpointSetIterator first_endpoint = - orb_core->orb_params ()->endpoints ().begin (); + TAO_EndpointSet endpoint_set = orb_core->orb_params ()->endpoints (); - TAO_EndpointSetIterator last_endpoint = - orb_core->orb_params ()->endpoints ().end (); + TAO_EndpointSetIterator endpoints = endpoint_set.begin (); - if (first_endpoint == last_endpoint) + if (endpoint_set.is_empty ()) { // No endpoints were specified, we let each protocol pick its // own default. @@ -101,11 +104,21 @@ TAO_Acceptor_Registry::open (TAO_ORB_Core *orb_core, ACE_THROW_RETURN (CORBA::INTERNAL (), -1); } + // The array containing the TAO_Acceptors will never contain more + // than the number of endpoints stored in TAO_ORB_Parameters. + if (this->acceptors_ == 0) + { + ACE_NEW_THROW_EX (this->acceptors_, + TAO_Acceptor *[endpoint_set.size ()], + CORBA::NO_MEMORY ()); + ACE_CHECK_RETURN (-1); + } + ACE_Auto_Basic_Array_Ptr addr_str; - for (TAO_EndpointSetIterator endpoint = first_endpoint; - endpoint != last_endpoint; - ++endpoint) + for (ACE_CString *endpoint = 0; + endpoints.next (endpoint) != 0; + endpoints.advance ()) { ACE_CString iop = (*endpoint); @@ -117,8 +130,8 @@ TAO_Acceptor_Registry::open (TAO_ORB_Core *orb_core, { if (TAO_debug_level > 0) ACE_ERROR ((LM_ERROR, - "(%P|%t) Invalid endpoint specification: " - "<%s>.\n", + ASYS_TEXT ("(%P|%t) Invalid endpoint specification: ") + ASYS_TEXT ("<%s>.\n"), iop.c_str ())); ACE_THROW_RETURN (CORBA::BAD_PARAM (), -1); @@ -227,33 +240,22 @@ TAO_Acceptor_Registry::open (TAO_ORB_Core *orb_core, if (TAO_debug_level > 0) ACE_ERROR ((LM_ERROR, - "TAO (%P|%t) unable to open acceptor " - "for <%s>%p\n", + ASYS_TEXT ("TAO (%P|%t) unable to open acceptor ") + ASYS_TEXT ("for <%s>%p\n"), iop.c_str (),"")); ACE_THROW_RETURN (CORBA::BAD_PARAM (), -1); } - // add acceptor to list. - if (this->acceptors_.insert (acceptor) == -1) - { - delete acceptor; - - if (TAO_debug_level > 0) - ACE_ERROR ((LM_ERROR, - "TAO (%P|%t) unable to add <%s> " - "to acceptor registry.\n", - address.c_str ())); - - ACE_THROW_RETURN (CORBA::INTERNAL (), -1); - } + // add acceptor to list + this->acceptors_[this->size_++] = acceptor; } else { if (TAO_debug_level > 0) ACE_ERROR ((LM_ERROR, - "TAO (%P|%t) unable to create " - "an acceptor for <%s>.\n", + ASYS_TEXT ("TAO (%P|%t) unable to create ") + ASYS_TEXT ("an acceptor for <%s>.\n"), iop.c_str ())); ACE_THROW_RETURN (CORBA::NO_MEMORY (), -1); @@ -267,8 +269,8 @@ TAO_Acceptor_Registry::open (TAO_ORB_Core *orb_core, if (found == 0) { ACE_ERROR ((LM_ERROR, - "TAO (%P|%t) no usable transport protocol " - "was found.\n")); + ASYS_TEXT ("TAO (%P|%t) no usable transport protocol ") + ASYS_TEXT ("was found.\n"))); ACE_THROW_RETURN (CORBA::BAD_PARAM (), -1); } } @@ -281,12 +283,21 @@ TAO_Acceptor_Registry::open (TAO_ORB_Core *orb_core, int TAO_Acceptor_Registry::open_default (TAO_ORB_Core *orb_core, const char *options) { - TAO_ProtocolFactorySetItor end = - orb_core->protocol_factories ()->end (); + TAO_ProtocolFactorySet *pfs = orb_core->protocol_factories (); + + // If the TAO_Acceptor array is zero by the time we get here then no + // endpoints were specified by the user, meaning that the number of + // acceptors will never be more than the number of loaded protocols + // in the ORB core. + if (this->acceptors_ == 0) + ACE_NEW_RETURN (this->acceptors_, + TAO_Acceptor *[pfs->size ()], + -1); + + TAO_ProtocolFactorySetItor end = pfs->end (); // loop through all the loaded protocols... - for (TAO_ProtocolFactorySetItor i = - orb_core->protocol_factories ()->begin (); + for (TAO_ProtocolFactorySetItor i = pfs->begin (); i != end; ++i) { @@ -323,8 +334,8 @@ TAO_Acceptor_Registry::open_default (TAO_ORB_Core *orb_core, { if (TAO_debug_level > 0) ACE_ERROR ((LM_ERROR, - "TAO (%P|%t) unable to create " - "an acceptor for <%s>\n", + ASYS_TEXT ("TAO (%P|%t) unable to create ") + ASYS_TEXT ("an acceptor for <%s>\n"), (*factory)->protocol_name ().c_str ())); return -1; @@ -337,25 +348,14 @@ TAO_Acceptor_Registry::open_default (TAO_ORB_Core *orb_core, if (TAO_debug_level > 0) ACE_ERROR ((LM_ERROR, - "TAO (%P|%t) unable to open " - "default acceptor for <%s>%p\n", + ASYS_TEXT ("TAO (%P|%t) unable to open ") + ASYS_TEXT ("default acceptor for <%s>%p\n"), (*factory)->protocol_name ().c_str (), "")); return -1; } - if (this->acceptors_.insert (acceptor) == -1) - { - delete acceptor; - - if (TAO_debug_level > 0) - ACE_ERROR ((LM_ERROR, - "TAO (%P|%t) unable to add <%s> default_acceptor " - "to acceptor registry.\n", - (*factory)->protocol_name ().c_str ())); - - return -1; - } + this->acceptors_[this->size_++] = acceptor; return 0; } @@ -363,10 +363,9 @@ TAO_Acceptor_Registry::open_default (TAO_ORB_Core *orb_core, int TAO_Acceptor_Registry::close_all (void) { - TAO_AcceptorSetItor end = - this->acceptors_.end (); + TAO_AcceptorSetIterator end = this->end (); - for (TAO_AcceptorSetItor i = this->acceptors_.begin (); + for (TAO_AcceptorSetIterator i = this->begin (); i != end; ++i) { @@ -378,17 +377,13 @@ TAO_Acceptor_Registry::close_all (void) delete *i; } - this->acceptors_.reset (); + this->size_ = 0; return 0; } #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Node; -template class ACE_Unbounded_Set; -template class ACE_Unbounded_Set_Iterator; + #elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#pragma instantiate ACE_Node -#pragma instantiate ACE_Unbounded_Set -#pragma instantiate ACE_Unbounded_Set_Iterator + #endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/TAO/tao/Asynch_Invocation.cpp b/TAO/tao/Asynch_Invocation.cpp index 842918bcc2a..d252b5d137e 100644 --- a/TAO/tao/Asynch_Invocation.cpp +++ b/TAO/tao/Asynch_Invocation.cpp @@ -15,6 +15,7 @@ ACE_RCSID(tao, Asynch_Invocation, "$Id$") + #if defined (ACE_ENABLE_TIMEPROBES) static const char *TAO_Asynch_Invocation_Timeprobe_Description[] = @@ -48,8 +49,8 @@ ACE_TIMEPROBE_EVENT_DESCRIPTIONS (TAO_Asynch_Invocation_Timeprobe_Description, #endif /* ACE_ENABLE_TIMEPROBES */ -#if defined (TAO_HAS_CORBA_MESSAGING) -#if defined (TAO_HAS_AMI_CALLBACK) || defined (TAO_HAS_AMI_POLLER) +#if (TAO_HAS_CORBA_MESSAGING == 1) +#if (TAO_HAS_AMI_CALLBACK == 1) || (TAO_HAS_AMI_POLLER == 1) void TAO_GIOP_Twoway_Asynch_Invocation::start (CORBA::Environment &ACE_TRY_ENV) @@ -58,8 +59,9 @@ TAO_GIOP_Twoway_Asynch_Invocation::start (CORBA::Environment &ACE_TRY_ENV) this->TAO_GIOP_Invocation::start (ACE_TRY_ENV); ACE_CHECK; + TAO_Target_Specification spec; this->transport_->start_request (this->orb_core_, - this->profile_, + spec, this->out_stream_, ACE_TRY_ENV); } @@ -94,7 +96,7 @@ TAO_GIOP_Twoway_Asynch_Invocation::invoke_i (CORBA::Environment &ACE_TRY_ENV) } // Just send the request, without trying to wait for the reply. - retval = TAO_GIOP_Invocation::invoke (1, + retval = TAO_GIOP_Invocation::invoke (0, ACE_TRY_ENV); ACE_CHECK_RETURN (retval); @@ -106,8 +108,8 @@ TAO_GIOP_Twoway_Asynch_Invocation::invoke_i (CORBA::Environment &ACE_TRY_ENV) return TAO_INVOKE_OK; } -#endif /* TAO_HAS_AMI_CALLBACK || TAO_HAS_AMI_POLLER */ -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_AMI_CALLBACK == 1 || TAO_HAS_AMI_POLLER == 1 */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ //************************************************************************** @@ -159,7 +161,7 @@ TAO_GIOP_DII_Deferred_Invocation::invoke_i (CORBA::Environment &ACE_TRY_ENV) } // Just send the request, without trying to wait for the reply. - retval = TAO_GIOP_Invocation::invoke (1, + retval = TAO_GIOP_Invocation::invoke (0, ACE_TRY_ENV); ACE_CHECK_RETURN (retval); @@ -172,4 +174,3 @@ TAO_GIOP_DII_Deferred_Invocation::invoke_i (CORBA::Environment &ACE_TRY_ENV) } #endif /* TAO_HAS_MINIMUM_CORBA */ - diff --git a/TAO/tao/Buffering_Constraint_Policy.cpp b/TAO/tao/Buffering_Constraint_Policy.cpp index 2fbed6ce57d..dc48b5a48c6 100644 --- a/TAO/tao/Buffering_Constraint_Policy.cpp +++ b/TAO/tao/Buffering_Constraint_Policy.cpp @@ -2,14 +2,14 @@ #include "tao/Buffering_Constraint_Policy.h" +#if (TAO_HAS_CORBA_MESSAGING == 1) + +ACE_RCSID(TAO, Buffering_Constraint_Policy, "$Id$") + #if ! defined (__ACE_INLINE__) #include "tao/Buffering_Constraint_Policy.i" #endif /* __ACE_INLINE__ */ -#if defined (TAO_HAS_CORBA_MESSAGING) - -ACE_RCSID(TAO, Buffering_Constraint_Policy, "$Id$") - TAO_Buffering_Constraint_Policy::TAO_Buffering_Constraint_Policy (const TAO::BufferingConstraint &buffering_constraint, PortableServer::POA_ptr poa) : buffering_constraint_ (buffering_constraint), @@ -25,18 +25,6 @@ TAO_Buffering_Constraint_Policy::TAO_Buffering_Constraint_Policy (const TAO_Buff { } -TAO::BufferingConstraint -TAO_Buffering_Constraint_Policy::buffering_constraint (CORBA::Environment &) -{ - return this->buffering_constraint_; -} - -TAO::BufferingConstraint -TAO_Buffering_Constraint_Policy::buffering_constraint (void) -{ - return this->buffering_constraint_; -} - CORBA::PolicyType TAO_Buffering_Constraint_Policy::policy_type (CORBA_Environment &) { @@ -120,4 +108,4 @@ TAO_Buffering_Constraint_Policy::_default_POA (CORBA_Environment &) #endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ diff --git a/TAO/tao/Connector_Registry.cpp b/TAO/tao/Connector_Registry.cpp index dcc307b4515..086f034a200 100644 --- a/TAO/tao/Connector_Registry.cpp +++ b/TAO/tao/Connector_Registry.cpp @@ -1,29 +1,41 @@ // This may look like C, but it's really -*- C++ -*- // $Id$ + #include "tao/ORB_Core.h" #include "tao/Connector_Registry.h" -#include "tao/Stub.h" +#include "tao/Profile.h" #include "tao/Environment.h" #include "tao/debug.h" +#if !defined(__ACE_INLINE__) +#include "tao/Connector_Registry.i" +#endif /* __ACE_INLINE__ */ + +ACE_RCSID(tao, Connector_Registry, "$Id$") + TAO_Connector_Registry::TAO_Connector_Registry (void) - : connectors_ () + : connectors_ (0), + size_ (0) { } TAO_Connector_Registry::~TAO_Connector_Registry (void) { this->close_all (); + + delete [] this->connectors_; + this->connectors_ = 0; + this->size_ = 0; } TAO_Connector * TAO_Connector_Registry::get_connector (CORBA::ULong tag) { - TAO_ConnectorSetItor end = - this->connectors_.end (); - TAO_ConnectorSetItor connector = - this->connectors_.begin (); + TAO_ConnectorSetIterator end = + this->end (); + TAO_ConnectorSetIterator connector = + this->begin (); for (; connector != end ; @@ -39,14 +51,21 @@ TAO_Connector_Registry::get_connector (CORBA::ULong tag) int TAO_Connector_Registry::open (TAO_ORB_Core *orb_core) { + TAO_ProtocolFactorySet *pfs = orb_core->protocol_factories (); + // Open one connector for each loaded protocol! - TAO_ProtocolFactorySetItor end = - orb_core->protocol_factories ()->end (); - TAO_ProtocolFactorySetItor factory = - orb_core->protocol_factories ()->begin (); + TAO_ProtocolFactorySetItor end = pfs->end (); + TAO_ProtocolFactorySetItor factory = pfs->begin (); TAO_Connector *connector = 0; + // The array containing the TAO_Connectors will never contain more + // than the number of loaded protocols in the ORB core. + if (this->connectors_ == 0) + ACE_NEW_RETURN (this->connectors_, + TAO_Connector *[pfs->size ()], + -1); + for ( ; factory != end; ++factory) @@ -60,22 +79,13 @@ TAO_Connector_Registry::open (TAO_ORB_Core *orb_core) delete connector; ACE_ERROR_RETURN ((LM_ERROR, - "TAO (%P|%t) unable to open connector for " - "<%s>.\n", + ASYS_TEXT ("TAO (%P|%t) unable to open connector for ") + ASYS_TEXT ("<%s>.\n"), (*factory)->protocol_name ().c_str ()), -1); } - if (connectors_.insert (connector) == -1) - { - delete connector; - - ACE_ERROR_RETURN ((LM_ERROR, - "TAO (%P|%t) unable to add a <%s> connector " - "to the connector registry.\n", - (*factory)->protocol_name ().c_str ()), - -1); - } + this->connectors_[this->size_++] = connector; } else return -1; @@ -87,10 +97,9 @@ TAO_Connector_Registry::open (TAO_ORB_Core *orb_core) int TAO_Connector_Registry::close_all (void) { - TAO_ConnectorSetItor end = - this->connectors_.end (); + TAO_ConnectorSetIterator end = this->end (); - for (TAO_ConnectorSetItor i = this->connectors_.begin (); + for (TAO_ConnectorSetIterator i = this->begin (); i != end; ++i) { @@ -102,13 +111,14 @@ TAO_Connector_Registry::close_all (void) delete *i; } - this->connectors_.reset (); + this->size_ = 0; + return 0; } int TAO_Connector_Registry::preconnect (TAO_ORB_Core *orb_core, - TAO_PreconnectSet &preconnections) + TAO_EndpointSet &preconnections) { // Put the preconnects in a form that makes it simple for protocol // implementers to parse. @@ -116,23 +126,21 @@ TAO_Connector_Registry::preconnect (TAO_ORB_Core *orb_core, { if (TAO_debug_level > 0) ACE_ERROR ((LM_ERROR, - "TAO (%P|%t) Unable to preprocess the preconnections.\n")); + ASYS_TEXT ("TAO (%P|%t) Unable to preprocess the preconnections.\n"))); return -1; } - TAO_PreconnectSetIterator preconnects = preconnections.begin (); + TAO_EndpointSetIterator preconnects = preconnections.begin (); for (ACE_CString *i = 0; preconnects.next (i) != 0; preconnects.advance ()) { - TAO_ConnectorSetItor first_connector = - this->connectors_.begin (); - TAO_ConnectorSetItor last_connector = - this->connectors_.end (); + TAO_ConnectorSetIterator first_connector = this->begin (); + TAO_ConnectorSetIterator last_connector = this->end (); - for (TAO_ConnectorSetItor connector = first_connector; + for (TAO_ConnectorSetIterator connector = first_connector; connector != last_connector; ++connector) if (*connector) @@ -144,7 +152,7 @@ TAO_Connector_Registry::preconnect (TAO_ORB_Core *orb_core, int TAO_Connector_Registry::preprocess_preconnects (TAO_ORB_Core *orb_core, - TAO_PreconnectSet &preconnects) + TAO_EndpointSet &preconnects) { // Organize all matching protocol endpoints and addrs into a single // endpoint for the given protocol. @@ -195,7 +203,7 @@ TAO_Connector_Registry::preprocess_preconnects (TAO_ORB_Core *orb_core, (*tmp) = ACE_CString ((*factory)->factory ()->prefix ()) + ACE_CString ("://"); - TAO_PreconnectSetIterator p = preconnects.begin (); + TAO_EndpointSetIterator p = preconnects.begin (); for (ACE_CString *i = 0; p.next (i) != 0; @@ -278,12 +286,10 @@ TAO_Connector_Registry::make_mprofile (const char *ior, CORBA::COMPLETED_NO), -1); - TAO_ConnectorSetItor first_connector = - this->connectors_.begin (); - TAO_ConnectorSetItor last_connector = - this->connectors_.end (); + TAO_ConnectorSetIterator first_connector = this->begin (); + TAO_ConnectorSetIterator last_connector = this->end (); - for (TAO_ConnectorSetItor connector = first_connector; + for (TAO_ConnectorSetIterator connector = first_connector; connector != last_connector; ++connector) { @@ -335,7 +341,7 @@ TAO_Connector_Registry::create_profile (TAO_InputCDR &cdr) if (TAO_debug_level > 0) { ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) unknown profile tag %d\n", + ASYS_TEXT ("TAO (%P|%t) unknown profile tag %d\n"), tag)); } @@ -379,12 +385,10 @@ TAO_Connector_Registry::object_key_delimiter (const char *ior) if (!ior) return 0; // Failure: Null IOR string pointer - TAO_ConnectorSetItor first_connector = - this->connectors_.begin (); - TAO_ConnectorSetItor last_connector = - this->connectors_.end (); + TAO_ConnectorSetIterator first_connector = this->begin (); + TAO_ConnectorSetIterator last_connector = this->end (); - for (TAO_ConnectorSetItor connector = first_connector; + for (TAO_ConnectorSetIterator connector = first_connector; connector != last_connector; ++connector) { @@ -404,11 +408,8 @@ TAO_Connector_Registry::object_key_delimiter (const char *ior) int TAO_Connector_Registry::purge_connections (void) { - TAO_ConnectorSetItor end = - this->connectors_.end (); - - TAO_ConnectorSetItor iterator = - this->connectors_.begin (); + TAO_ConnectorSetIterator end = this->end (); + TAO_ConnectorSetIterator iterator = this->begin (); for (; iterator != end ; @@ -424,14 +425,6 @@ TAO_Connector_Registry::purge_connections (void) #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Node; -template class ACE_Unbounded_Set; -template class ACE_Unbounded_Set_Iterator; - #elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#pragma instantiate ACE_Node -#pragma instantiate ACE_Unbounded_Set -#pragma instantiate ACE_Unbounded_Set_Iterator - #endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/TAO/tao/GIOP_Message_Base.cpp b/TAO/tao/GIOP_Message_Base.cpp index a1e48252b6a..72122e8d97a 100644 --- a/TAO/tao/GIOP_Message_Base.cpp +++ b/TAO/tao/GIOP_Message_Base.cpp @@ -24,8 +24,10 @@ TAO_GIOP_Message_Base:: write_protocol_header (TAO_Pluggable_Message_Type t, TAO_OutputCDR &msg) { + // Reset the message type + msg.reset (); - TAO_GIOP_Message_Type type; + TAO_GIOP_Message_Type type = TAO_GIOP_MESSAGERROR; // First convert the Pluggable type to the GIOP specific type. switch (t) @@ -105,7 +107,7 @@ TAO_GIOP_Message_Base:: params.operation_name, cdr); break; - case TAO_PLUUGABLE_MESSAGE_LOCATE_REQUEST_HEADER: + case TAO_PLUGGABLE_MESSAGE_LOCATE_REQUEST_HEADER: this->write_locate_request_header (params.request_id, spec, cdr); @@ -126,7 +128,8 @@ int TAO_GIOP_Message_Base::send_message (TAO_Transport *transport, TAO_OutputCDR &stream, ACE_Time_Value *max_wait_time, - TAO_Stub *stub) + TAO_Stub *stub, + int two_way) { // Get the header length const size_t header_len = this->header_len (); @@ -172,6 +175,7 @@ TAO_GIOP_Message_Base::send_message (TAO_Transport *transport, // This guarantees to send all data (bytes) or return an error. ssize_t n = transport->send (stub, + two_way, stream.begin (), max_wait_time); diff --git a/TAO/tao/GIOP_Server_Request.cpp b/TAO/tao/GIOP_Server_Request.cpp index 3b36542c521..457c0a5c418 100644 --- a/TAO/tao/GIOP_Server_Request.cpp +++ b/TAO/tao/GIOP_Server_Request.cpp @@ -21,6 +21,7 @@ ACE_RCSID(tao, GIOP_Server_Request, "$Id$") + #if defined (ACE_ENABLE_TIMEPROBES) static const char *TAO_Server_Request_Timeprobe_Description[] = diff --git a/TAO/tao/IIOP_Acceptor.cpp b/TAO/tao/IIOP_Acceptor.cpp index 380259e5438..628022152bf 100644 --- a/TAO/tao/IIOP_Acceptor.cpp +++ b/TAO/tao/IIOP_Acceptor.cpp @@ -1,6 +1,7 @@ // This may look like C, but it's really -*- C++ -*- // $Id$ + #include "tao/IIOP_Acceptor.h" #include "tao/IIOP_Profile.h" #include "tao/MProfile.h" @@ -12,8 +13,10 @@ #include "tao/IIOP_Acceptor.i" #endif /* __ACE_INLINE__ */ + ACE_RCSID(tao, IIOP_Acceptor, "$Id$") + #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) template class ACE_Acceptor; @@ -235,8 +238,8 @@ TAO_IIOP_Acceptor::open_i (TAO_ORB_Core* orb_core, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "\n\nTAO (%P|%t) IIOP_Acceptor::open_i - %p\n\n", - "cannot open acceptor")); + ASYS_TEXT ("\n\nTAO (%P|%t) IIOP_Acceptor::open_i - %p\n\n"), + ASYS_TEXT ("cannot open acceptor"))); return -1; } @@ -245,8 +248,8 @@ TAO_IIOP_Acceptor::open_i (TAO_ORB_Core* orb_core, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "\n\nTAO (%P|%t) IIOP_Acceptor::open_i - %p\n\n", - "cannot get local addr")); + ASYS_TEXT ("\n\nTAO (%P|%t) IIOP_Acceptor::open_i - %p\n\n"), + ASYS_TEXT ("cannot get local addr"))); return -1; } @@ -257,8 +260,8 @@ TAO_IIOP_Acceptor::open_i (TAO_ORB_Core* orb_core, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "\n\nTAO (%P|%t) IIOP_Acceptor::open_i - %p\n\n", - "cannot cache hostname")); + ASYS_TEXT ("\n\nTAO (%P|%t) IIOP_Acceptor::open_i - %p\n\n"), + ASYS_TEXT ("cannot cache hostname"))); return -1; } this->host_ = tmp; @@ -271,8 +274,8 @@ TAO_IIOP_Acceptor::open_i (TAO_ORB_Core* orb_core, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "\n\nTAO (%P|%t) IIOP_Acceptor::open_i - %p\n\n", - "cannot cache hostname")); + ASYS_TEXT ("\n\nTAO (%P|%t) IIOP_Acceptor::open_i - %p\n\n"), + ASYS_TEXT ("cannot cache hostname"))); return -1; } this->host_ = tmp_host; @@ -281,8 +284,8 @@ TAO_IIOP_Acceptor::open_i (TAO_ORB_Core* orb_core, if (TAO_debug_level > 5) { ACE_DEBUG ((LM_DEBUG, - "\nTAO (%P|%t) IIOP_Acceptor::open_i - " - "listening on: <%s:%u>\n", + ASYS_TEXT ("\nTAO (%P|%t) IIOP_Acceptor::open_i - ") + ASYS_TEXT ("listening on: <%s:%u>\n"), this->host_.c_str (), this->address_.get_port_number ())); } @@ -347,7 +350,7 @@ TAO_IIOP_Acceptor::parse_options (const char *str) if (end == begin) ACE_ERROR_RETURN ((LM_ERROR, - "TAO (%P|%t) Zero length IIOP option.\n"), + ASYS_TEXT ("TAO (%P|%t) Zero length IIOP option.\n")), -1); else if (end != ACE_CString::npos) { @@ -358,8 +361,8 @@ TAO_IIOP_Acceptor::parse_options (const char *str) if (slot == ACE_static_cast (int, len - 1) || slot == ACE_CString::npos) ACE_ERROR_RETURN ((LM_ERROR, - "TAO (%P|%t) IIOP option <%s> is " - "missing a value.\n", + ASYS_TEXT ("TAO (%P|%t) IIOP option <%s> is ") + ASYS_TEXT ("missing a value.\n"), opt.c_str ()), -1); @@ -368,8 +371,8 @@ TAO_IIOP_Acceptor::parse_options (const char *str) if (name.length () == 0) ACE_ERROR_RETURN ((LM_ERROR, - "TAO (%P|%t) Zero length IIOP " - "option name.\n"), + ASYS_TEXT ("TAO (%P|%t) Zero length IIOP ") + ASYS_TEXT ("option name.\n")), -1); if (name == "priority") @@ -386,14 +389,14 @@ TAO_IIOP_Acceptor::parse_options (const char *str) this->priority_ = corba_priority; else ACE_ERROR_RETURN ((LM_ERROR, - "TAO (%P|%t) Invalid IIOP endpoint " - "priority: <%s>\n", + ASYS_TEXT ("TAO (%P|%t) Invalid IIOP endpoint ") + ASYS_TEXT ("priority: <%s>\n"), value.c_str ()), -1); } else ACE_ERROR_RETURN ((LM_ERROR, - "TAO (%P|%t) Invalid IIOP option: <%s>\n", + ASYS_TEXT ("TAO (%P|%t) Invalid IIOP option: <%s>\n"), name.c_str ()), -1); } diff --git a/TAO/tao/IIOP_Connect.cpp b/TAO/tao/IIOP_Connect.cpp index 3c166494dad..8f0e3adb3e0 100644 --- a/TAO/tao/IIOP_Connect.cpp +++ b/TAO/tao/IIOP_Connect.cpp @@ -7,6 +7,7 @@ #include "tao/ORB_Core.h" #include "tao/ORB.h" #include "tao/CDR.h" +#include "tao/Messaging_Policy_i.h" #if !defined (__ACE_INLINE__) # include "tao/IIOP_Connect.i" @@ -14,7 +15,6 @@ ACE_RCSID(tao, IIOP_Connect, "$Id$") - #if defined (ACE_ENABLE_TIMEPROBES) static const char *TAO_IIOP_Connect_Timeprobe_Description[] = @@ -121,7 +121,7 @@ TAO_IIOP_Server_Connection_Handler::open (void*) return -1; #endif /* !ACE_LACKS_SOCKET_BUFSIZ */ -#if defined (TCP_NODELAY) +#if !defined (ACE_LACKS_TCP_NODELAY) int nodelay = this->orb_core_->orb_params ()->nodelay (); @@ -130,7 +130,7 @@ TAO_IIOP_Server_Connection_Handler::open (void*) (void *) &nodelay, sizeof (nodelay)) == -1) return -1; -#endif /* TCP_NODELAY */ +#endif /* ! ACE_LACKS_TCP_NODELAY */ (void) this->peer ().enable (ACE_CLOEXEC); // Set the close-on-exec flag for that file descriptor. If the @@ -149,7 +149,7 @@ TAO_IIOP_Server_Connection_Handler::open (void*) if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) IIOP connection from client <%s> on %d\n", + ASYS_TEXT ("TAO (%P|%t) IIOP connection from client <%s> on %d\n"), client, this->peer ().get_handle ())); return 0; @@ -169,8 +169,8 @@ TAO_IIOP_Server_Connection_Handler::activate (long flags, { if (TAO_orbdebug) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) IIOP_Server_Connection_Handler::activate %d " - "threads, flags = %d\n", + ASYS_TEXT ("TAO (%P|%t) IIOP_Server_Connection_Handler::activate %d ") + ASYS_TEXT ("threads, flags = %d\n"), n_threads, flags, THR_BOUND)); @@ -193,8 +193,8 @@ TAO_IIOP_Server_Connection_Handler::handle_close (ACE_HANDLE handle, { if (TAO_orbdebug) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) IIOP_Server_Connection_Handler::handle_close " - "(%d, %d)\n", + ASYS_TEXT ("TAO (%P|%t) IIOP_Server_Connection_Handler::handle_close ") + ASYS_TEXT ("(%d, %d)\n"), handle, rm)); @@ -218,7 +218,7 @@ TAO_IIOP_Server_Connection_Handler::svc (void) if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) IIOP_Server_Connection_Handler::svc begin\n")); + ASYS_TEXT ("TAO (%P|%t) IIOP_Server_Connection_Handler::svc begin\n"))); // Here we simply synthesize the "typical" event loop one might find // in a reactive handler, except that this can simply block waiting @@ -246,13 +246,13 @@ TAO_IIOP_Server_Connection_Handler::svc (void) current_timeout = timeout; if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) IIOP_Server_Connection_Handler::svc - " - "loop <%d>\n", current_timeout.msec ())); + ASYS_TEXT ("TAO (%P|%t) IIOP_Server_Connection_Handler::svc - ") + ASYS_TEXT ("loop <%d>\n"), current_timeout.msec ())); } if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) IIOP_Server_Connection_Handler::svc end\n")); + ASYS_TEXT ("TAO (%P|%t) IIOP_Server_Connection_Handler::svc end\n"))); return result; } @@ -277,9 +277,9 @@ TAO_IIOP_Server_Connection_Handler::handle_input_i (ACE_HANDLE, if (result == -1 && TAO_debug_level > 0) { ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) - %p\n", - "IIOP_Server_Connection_Handler::handle_input, " - "handle_input")); + ASYS_TEXT ("TAO (%P|%t) - %p\n"), + ASYS_TEXT ("IIOP_Server_Connection_Handler::handle_input, ") + ASYS_TEXT ("handle_input"))); } if (result == 0 || result == -1) @@ -388,7 +388,7 @@ TAO_IIOP_Client_Connection_Handler::open (void *) return -1; #endif /* ACE_LACKS_SOCKET_BUFSIZ */ -#if defined (TCP_NODELAY) +#if !defined (ACE_LACKS_TCP_NODELAY) int nodelay = this->orb_core_->orb_params ()->nodelay (); if (this->peer ().set_option (ACE_IPPROTO_TCP, @@ -396,9 +396,9 @@ TAO_IIOP_Client_Connection_Handler::open (void *) (void *) &nodelay, sizeof (nodelay)) == -1) ACE_ERROR_RETURN ((LM_ERROR, - "NODELAY failed\n"), + ASYS_TEXT ("NODELAY failed\n")), -1); -#endif /* TCP_NODELAY */ +#endif /* ! ACE_LACKS_TCP_NODELAY */ (void) this->peer ().enable (ACE_CLOEXEC); // Set the close-on-exec flag for that file descriptor. If the @@ -418,7 +418,7 @@ TAO_IIOP_Client_Connection_Handler::open (void *) if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) IIOP connection to server <%s> on %d\n", + ASYS_TEXT ("TAO (%P|%t) IIOP connection to server <%s> on %d\n"), server, this->peer ().get_handle ())); // Register the handler with the Reactor if necessary. @@ -448,8 +448,26 @@ TAO_IIOP_Client_Connection_Handler::handle_timeout (const ACE_Time_Value &, // This method is called when buffering timer expires. // + ACE_Time_Value *max_wait_time = 0; + +#if (TAO_HAS_CORBA_MESSAGING == 1) + TAO_RelativeRoundtripTimeoutPolicy *timeout_policy = + this->orb_core_->stubless_relative_roundtrip_timeout (); + + ACE_Time_Value max_wait_time_value; + + // If max_wait_time is not zero then this is not the first attempt + // to send the request, the timeout value includes *all* those + // attempts. + if (timeout_policy != 0) + { + timeout_policy->set_time_value (max_wait_time_value); + max_wait_time = &max_wait_time_value; + } +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ + // Cannot deal with errors, and therefore they are ignored. - this->transport ()->send_buffered_messages (); + this->transport ()->send_buffered_messages (max_wait_time); return 0; } @@ -467,8 +485,8 @@ TAO_IIOP_Client_Connection_Handler::handle_close (ACE_HANDLE handle, if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) IIOP_Client_Connection_Handler::" - "handle_close (%d, %d)\n", handle, rm)); + ASYS_TEXT ("TAO (%P|%t) IIOP_Client_Connection_Handler::") + ASYS_TEXT ("handle_close (%d, %d)\n"), handle, rm)); if (this->recycler ()) this->recycler ()->mark_as_closed (this->recycling_act ()); @@ -490,8 +508,8 @@ TAO_IIOP_Client_Connection_Handler::handle_close_i (ACE_HANDLE handle, if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) IIOP_Client_Connection_Handler::" - "handle_close_i (%d, %d)\n", handle, rm)); + ASYS_TEXT ("TAO (%P|%t) IIOP_Client_Connection_Handler::") + ASYS_TEXT ("handle_close_i (%d, %d)\n"), handle, rm)); if (this->recycler ()) this->recycler ()->mark_as_closed_i (this->recycling_act ()); diff --git a/TAO/tao/IIOP_Connector.cpp b/TAO/tao/IIOP_Connector.cpp index 3c759328dba..b06b3667bbb 100644 --- a/TAO/tao/IIOP_Connector.cpp +++ b/TAO/tao/IIOP_Connector.cpp @@ -11,6 +11,7 @@ ACE_RCSID(tao, IIOP_Connector, "$Id$") + #if defined (TAO_USES_ROBUST_CONNECTION_MGMT) int TAO_IIOP_Connector::purge_connections (void) @@ -222,8 +223,8 @@ template class ACE_Refcounted_Recyclable_Handler_Caching_Utility #if !defined (TAO_USES_ROBUST_CONNECTION_MGMT) -#pragma instantiate CACHED_CONNECT_STRATEGY; -#pragma instantiate TAO_ADDR; +#pragma instantiate CACHED_CONNECT_STRATEGY +#pragma instantiate TAO_ADDR #endif /* TAO_USES_ROBUST_CONNECTION_MGMT */ #pragma instantiate ACE_Svc_Handler @@ -478,8 +479,8 @@ TAO_IIOP_Connector::connect (TAO_Profile *profile, profile->addr_to_string (buffer, (MAXNAMELEN * 2) - 1); ACE_DEBUG ((LM_ERROR, - "(%P|%t) %s:%u, connection to " - "%s failed (%p)\n", + ASYS_TEXT ("(%P|%t) %s:%u, connection to ") + ASYS_TEXT ("%s failed (%p)\n"), __FILE__, __LINE__, buffer, @@ -559,8 +560,8 @@ TAO_IIOP_Connector::preconnect (const char *preconnects) if (TAO_debug_level > 0) { ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) No port specified for <%s>. " - "Using <%d> as default port.\n", + ASYS_TEXT ("TAO (%P|%t) No port specified for <%s>. ") + ASYS_TEXT ("Using <%d> as default port.\n"), where, dest.get_port_number ())); } @@ -619,14 +620,14 @@ TAO_IIOP_Connector::preconnect (const char *preconnects) if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) Preconnection <%s:%d> " - "succeeded.\n", + ASYS_TEXT ("TAO (%P|%t) Preconnection <%s:%d> ") + ASYS_TEXT ("succeeded.\n"), remote_addrs[slot].get_host_name (), remote_addrs[slot].get_port_number ())); } else if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) Preconnection <%s:%d> failed.\n", + ASYS_TEXT ("TAO (%P|%t) Preconnection <%s:%d> failed.\n"), remote_addrs[slot].get_host_name (), remote_addrs[slot].get_port_number ())); } @@ -635,8 +636,8 @@ TAO_IIOP_Connector::preconnect (const char *preconnects) if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) IIOP preconnections: %d successes and " - "%d failures.\n", + ASYS_TEXT ("TAO (%P|%t) IIOP preconnections: %d successes and ") + ASYS_TEXT ("%d failures.\n"), successes, num_connections - successes)); } @@ -711,5 +712,5 @@ TAO_IIOP_Connector::check_prefix (const char *endpoint) char TAO_IIOP_Connector::object_key_delimiter (void) const { - return TAO_IIOP_Profile::object_key_delimiter; + return TAO_IIOP_Profile::object_key_delimiter_; } diff --git a/TAO/tao/IIOP_Profile.cpp b/TAO/tao/IIOP_Profile.cpp index 0d35b7c28c9..3e1604b9a5c 100644 --- a/TAO/tao/IIOP_Profile.cpp +++ b/TAO/tao/IIOP_Profile.cpp @@ -3,6 +3,7 @@ + #include "tao/IIOP_Profile.h" #include "tao/IIOP_Connect.h" #include "tao/CDR.h" @@ -14,13 +15,20 @@ ACE_RCSID(tao, IIOP_Profile, "$Id$") + #if !defined (__ACE_INLINE__) # include "tao/IIOP_Profile.i" #endif /* __ACE_INLINE__ */ static const char prefix_[] = "iiop"; -const char TAO_IIOP_Profile::object_key_delimiter = '/'; +const char TAO_IIOP_Profile::object_key_delimiter_ = '/'; + +char +TAO_IIOP_Profile::object_key_delimiter (void) const +{ + return TAO_IIOP_Profile::object_key_delimiter_; +} TAO_IIOP_Profile::TAO_IIOP_Profile (const ACE_INET_Addr &addr, const TAO_ObjectKey &object_key, @@ -150,7 +158,7 @@ TAO_IIOP_Profile::decode (TAO_InputCDR& cdr) if (TAO_debug_level > 0) { ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) IIOP_Profile::decode - v%d.%d\n", + ASYS_TEXT ("TAO (%P|%t) IIOP_Profile::decode - v%d.%d\n"), this->version_.major, this->version_.minor)); } @@ -163,8 +171,8 @@ TAO_IIOP_Profile::decode (TAO_InputCDR& cdr) if (TAO_debug_level > 0) { ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) IIOP_Profile::decode - " - "error while decoding host/port")); + ASYS_TEXT ("TAO (%P|%t) IIOP_Profile::decode - ") + ASYS_TEXT ("error while decoding host/port"))); } return -1; } @@ -188,7 +196,7 @@ TAO_IIOP_Profile::decode (TAO_InputCDR& cdr) // If there is extra data in the profile we are supposed to // ignore it, but print a warning just in case... ACE_DEBUG ((LM_DEBUG, - "%d bytes out of %d left after IIOP profile data\n", + ASYS_TEXT ("%d bytes out of %d left after IIOP profile data\n"), cdr.length (), encap_len)); } @@ -254,7 +262,7 @@ TAO_IIOP_Profile::parse_string (const char *string, -1); } - char *okd = ACE_OS::strchr (start, this->object_key_delimiter); + char *okd = ACE_OS::strchr (start, this->object_key_delimiter_); if (okd == 0) { @@ -419,7 +427,7 @@ TAO_IIOP_Profile::to_string (CORBA::Environment &) digits [this->version_.minor], this->host_.in (), this->port_, - this->object_key_delimiter, + this->object_key_delimiter_, key.in ()); return buf; } diff --git a/TAO/tao/IIOP_Transport.cpp b/TAO/tao/IIOP_Transport.cpp index 114cf75d75f..d10b61ac733 100644 --- a/TAO/tao/IIOP_Transport.cpp +++ b/TAO/tao/IIOP_Transport.cpp @@ -1,6 +1,6 @@ +// This may look like C, but it's really -*- C++ -*- // $Id$ - #include "tao/IIOP_Transport.h" #include "tao/IIOP_Connect.h" #include "tao/IIOP_Profile.h" @@ -58,12 +58,17 @@ TAO_IIOP_Transport::TAO_IIOP_Transport (TAO_IIOP_Handler_Base *handler, TAO_IIOP_Transport::~TAO_IIOP_Transport (void) { - // Cannot deal with errors, and therefore they are ignored. - this->send_buffered_messages (); - - // Note that it also doesn't matter how much of the data was - // actually sent. - this->dequeue_all (); + // If the socket has not already been closed. + if (this->handle () != ACE_INVALID_HANDLE) + { + // Cannot deal with errors, and therefore they are ignored. + this->send_buffered_messages (); + } + else + { + // Dequeue messages and delete message blocks. + this->dequeue_all (); + } } TAO_IIOP_Handler_Base *& @@ -197,7 +202,7 @@ TAO_IIOP_Client_Transport::start_locate (TAO_ORB_Core */*orb_core*/, TAO_Pluggable_Connector_Params params; params.request_id = request_id; if (this->client_mesg_factory_->write_message_header (params, - TAO_LOCATE_REQUEST_HEADER, + TAO_PLUGGABLE_MESSAGE_LOCATE_REQUEST_HEADER, spec, output) == 0) ACE_THROW (CORBA::MARSHAL ()); @@ -217,7 +222,8 @@ TAO_IIOP_Client_Transport::send_request (TAO_Stub *stub, if (this->client_mesg_factory_->send_message (this, stream, max_wait_time, - stub) == -1) + stub, + two_way) == -1) return -1; return this->idle_after_send (); @@ -243,8 +249,8 @@ TAO_IIOP_Client_Transport::handle_client_input (int /* block */, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) IIOP_Transport::handle_client_input -" - " nil message state\n")); + ASYS_TEXT ("TAO (%P|%t) IIOP_Transport::handle_client_input -") + ASYS_TEXT (" nil message state\n"))); return -1; } @@ -256,8 +262,8 @@ TAO_IIOP_Client_Transport::handle_client_input (int /* block */, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) - %p\n", - "IIOP_Transport::handle_client_input, handle_input")); + ASYS_TEXT ("TAO (%P|%t) - %p\n"), + ASYS_TEXT ("IIOP_Transport::handle_client_input, handle_input"))); return -1; } if (result == 0) @@ -275,8 +281,8 @@ TAO_IIOP_Client_Transport::handle_client_input (int /* block */, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) - %p\n", - "IIOP_Transport::handle_client_input, parse reply")); + ASYS_TEXT ("TAO (%P|%t) - %p\n"), + ASYS_TEXT ("IIOP_Transport::handle_client_input, parse reply"))); message_state->reset (); return -1; } @@ -292,9 +298,9 @@ TAO_IIOP_Client_Transport::handle_client_input (int /* block */, { if (TAO_debug_level > 0) ACE_ERROR ((LM_ERROR, - "TAO (%P|%t) : IIOP_Client_Transport::" - "handle_client_input - " - "dispatch reply failed\n")); + ASYS_TEXT ("TAO (%P|%t) : IIOP_Client_Transport::") + ASYS_TEXT ("handle_client_input - ") + ASYS_TEXT ("dispatch reply failed\n"))); message_state->reset (); return -1; } @@ -347,10 +353,10 @@ TAO_IIOP_Client_Transport::send_request_header (const IOP::ServiceContextList & // We are going to pass on this request to the underlying messaging // layer. It should take care of this request CORBA::Boolean retval = - this->client_mesg_factory_->write_message_header (params, - TAO_REQUEST_HEADER, - spec, - msg); + this->client_mesg_factory_->write_message_header (params, + TAO_PLUGGABLE_MESSAGE_REQUEST_HEADER, + spec, + msg); return retval; } @@ -360,10 +366,11 @@ TAO_IIOP_Client_Transport::send_request_header (const IOP::ServiceContextList & ssize_t TAO_IIOP_Transport::send (TAO_Stub *stub, + int two_way, const ACE_Message_Block *message_block, const ACE_Time_Value *max_wait_time) { - if (stub == 0) + if (stub == 0 || two_way) { return this->send (message_block, max_wait_time); @@ -409,7 +416,6 @@ TAO_IIOP_Transport::recv (char *buf, { TAO_FUNCTION_PP_TIMEPROBE (TAO_IIOP_TRANSPORT_RECEIVE_START); - return this->handler_->peer ().recv_n (buf, len, max_wait_time); diff --git a/TAO/tao/IOR_LookupTable.cpp b/TAO/tao/IOR_LookupTable.cpp index 59044fc2c31..7cc6cc2bad4 100644 --- a/TAO/tao/IOR_LookupTable.cpp +++ b/TAO/tao/IOR_LookupTable.cpp @@ -8,14 +8,26 @@ ACE_RCSID(tao, IOR_TableLookup, "$Id$") +int +TAO_IOR_LookupTable_Callback::find_ior (const ACE_CString &, + ACE_CString &) +{ + // Nothing + return -1; +} + // = Initialization and termination methods. TAO_IOR_LookupTable::TAO_IOR_LookupTable (void) - : table_ () + : table_ (), + delete_callback_ (1) { + ACE_NEW (this->callback_, TAO_IOR_LookupTable_Callback); } TAO_IOR_LookupTable::~TAO_IOR_LookupTable (void) { + if (this->delete_callback_) + delete this->callback_; } int @@ -74,10 +86,24 @@ TAO_IOR_LookupTable::find_ior (const ACE_CString &object_name, // "TAO (%P|%t) IOR Table find <%s>\n", // object_name.c_str ())); - return this->table_.find (object_name, ior); + int result = this->table_.find (object_name, ior); + + if (result != 0) + result = this->callback_->find_ior (object_name, ior); + return result; } +void +TAO_IOR_LookupTable::register_callback (TAO_IOR_LookupTable_Callback *callback, + int delete_callback) +{ + if (this->delete_callback_) + delete this->callback_; + + this->callback_ = callback; + this->delete_callback_ = delete_callback; +} CORBA_ORB_ObjectIdList_ptr TAO_IOR_LookupTable::list_initial_services (CORBA::Environment &ACE_TRY_ENV) diff --git a/TAO/tao/InterfaceC.cpp b/TAO/tao/InterfaceC.cpp index ce444dce55a..42034569dc3 100644 --- a/TAO/tao/InterfaceC.cpp +++ b/TAO/tao/InterfaceC.cpp @@ -12,7 +12,7 @@ #include "tao/Stub.h" #include "tao/Invocation.h" -#if defined TAO_HAS_INTERFACE_REPOSITORY +#if (TAO_HAS_INTERFACE_REPOSITORY == 1) #if !defined (__ACE_INLINE__) #include "tao/InterfaceC.i" @@ -18177,4 +18177,4 @@ CORBA::Boolean operator>> ( } -#endif /*TAO_HAS_INTERFACE_REPOSITORY */ +#endif /* TAO_HAS_INTERFACE_REPOSITORY == 1 */ diff --git a/TAO/tao/Invocation.cpp b/TAO/tao/Invocation.cpp index 117bc59c8a2..0ca74a07cda 100644 --- a/TAO/tao/Invocation.cpp +++ b/TAO/tao/Invocation.cpp @@ -22,6 +22,7 @@ ACE_RCSID(tao, Invocation, "$Id$") + #if defined (ACE_ENABLE_TIMEPROBES) static const char *TAO_Invocation_Timeprobe_Description[] = @@ -97,8 +98,9 @@ TAO_GIOP_Invocation::select_profile_based_on_policy (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { -#if !defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 0) + ACE_UNUSED_ARG (ACE_TRY_ENV); this->profile_ = this->stub_->profile_in_use (); return this->profile_; @@ -151,7 +153,7 @@ TAO_GIOP_Invocation::select_profile_based_on_policy } if (TAO_debug_level > 3) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) - matching priority range %d %d\n", + ASYS_TEXT ("TAO (%P|%t) - matching priority range %d %d\n"), min_priority, max_priority)); @@ -183,7 +185,7 @@ TAO_GIOP_Invocation::select_profile_based_on_policy return this->profile_; } -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 0 */ } @@ -238,35 +240,20 @@ TAO_GIOP_Invocation::start (CORBA::Environment &ACE_TRY_ENV) // have the protocol) then we give it another profile to try. // So the invocation Object should handle policy decisions. -#if defined (TAO_HAS_CORBA_MESSAGING) - TAO_RelativeRoundtripTimeoutPolicy_i *timeout = +#if (TAO_HAS_CORBA_MESSAGING == 1) + TAO_RelativeRoundtripTimeoutPolicy *timeout_policy = this->stub_->relative_roundtrip_timeout (); // If max_wait_time is not zero then this is not the first attempt // to send the request, the timeout value includes *all* those // attempts. if (this->max_wait_time_ == 0 - && timeout != 0) + && timeout_policy != 0) { - TimeBase::TimeT t = - timeout->relative_expiry (ACE_TRY_ENV); - ACE_CHECK; - TimeBase::TimeT seconds = t / 10000000u; - TimeBase::TimeT microseconds = (t % 10000000u) / 10; - this->max_wait_time_value_.set (ACE_U64_TO_U32(seconds), - ACE_U64_TO_U32(microseconds)); + timeout_policy->set_time_value (this->max_wait_time_value_); this->max_wait_time_ = &this->max_wait_time_value_; - - if (TAO_debug_level > 0) - { - CORBA::ULong msecs = - ACE_static_cast(CORBA::ULong, microseconds / 1000); - ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) Timeout is <%u>\n", - msecs)); - } } -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ ACE_Countdown_Time countdown (this->max_wait_time_); // Loop until a connection is established or there aren't any more @@ -710,7 +697,7 @@ TAO_GIOP_Twoway_Invocation::invoke (TAO_Exception_Data *excepts, if (TAO_debug_level > 5) ACE_DEBUG ((LM_DEBUG, - "TAO: (%P|%t) Raising exception %s\n", + ASYS_TEXT ("TAO: (%P|%t) Raising exception %s\n"), buf.in ())); // @@ Think about a better way to raise the exception here, @@ -789,7 +776,7 @@ TAO_GIOP_Twoway_Invocation::invoke_i (CORBA::Environment &ACE_TRY_ENV) this->max_wait_time_->msec (); ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) Timeout on recv is <%u>\n", + ASYS_TEXT ("TAO (%P|%t) Timeout on recv is <%u>\n"), msecs)); } @@ -804,7 +791,7 @@ TAO_GIOP_Twoway_Invocation::invoke_i (CORBA::Environment &ACE_TRY_ENV) this->max_wait_time_->msec (); ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) Timeout after recv is <%u> status <%d>\n", + ASYS_TEXT ("TAO (%P|%t) Timeout after recv is <%u> status <%d>\n"), msecs, reply_error)); } @@ -925,14 +912,14 @@ TAO_GIOP_Oneway_Invocation (TAO_Stub *stub, : TAO_GIOP_Invocation (stub, operation, orb_core), sync_scope_ (TAO::SYNC_WITH_TRANSPORT) { -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) TAO_Sync_Scope_Policy *ssp = stub->sync_scope (); if (ssp) { this->sync_scope_ = ssp->synchronization (); } -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ } TAO_GIOP_Oneway_Invocation::~TAO_GIOP_Oneway_Invocation (void) @@ -962,15 +949,15 @@ TAO_GIOP_Oneway_Invocation::invoke (CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { if (this->sync_scope_ == TAO::SYNC_WITH_TRANSPORT - || this->sync_scope_ == TAO::SYNC_NONE - || this->sync_scope_ == TAO::SYNC_FLUSH) + || this->sync_scope_ == TAO::SYNC_NONE) { return TAO_GIOP_Invocation::invoke (0, ACE_TRY_ENV); } + // Create this only if a reply is required. - TAO_Synch_Reply_Dispatcher rd (this->orb_core_, + TAO_Synch_Reply_Dispatcher rd (this->orb_core_, this->service_info_); // The rest of this function is very similar to @@ -1004,7 +991,7 @@ TAO_GIOP_Oneway_Invocation::invoke (CORBA::Environment &ACE_TRY_ENV) this->max_wait_time_->msec (); ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) Timeout on recv is <%u>\n", + ASYS_TEXT ("TAO (%P|%t) Timeout on recv is <%u>\n"), msecs)); } @@ -1019,7 +1006,7 @@ TAO_GIOP_Oneway_Invocation::invoke (CORBA::Environment &ACE_TRY_ENV) this->max_wait_time_->msec (); ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) Timeout after recv is <%u> status <%d>\n", + ASYS_TEXT ("TAO (%P|%t) Timeout after recv is <%u> status <%d>\n"), msecs, reply_error)); } @@ -1111,8 +1098,8 @@ TAO_GIOP_Oneway_Invocation::invoke (CORBA::Environment &ACE_TRY_ENV) // @@ We should raise a CORBA::NO_MEMORY, but we ran out // of memory already. We need a pre-allocated, TSS, // CORBA::NO_MEMORY instance - ACE_NEW_RETURN (ex, - CORBA::UNKNOWN, + ACE_NEW_RETURN (ex, + CORBA::UNKNOWN, TAO_INVOKE_EXCEPTION); } diff --git a/TAO/tao/MessagingC.cpp b/TAO/tao/MessagingC.cpp index b17b95dbf03..8abd088c179 100644 --- a/TAO/tao/MessagingC.cpp +++ b/TAO/tao/MessagingC.cpp @@ -10,7 +10,7 @@ #include "tao/MessagingC.h" -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) #include "tao/MessagingS.h" #include "tao/POA_CORBA.h" @@ -77,11 +77,6 @@ TAO_NAMESPACE_TYPE (const CORBA::Short) TAO_NAMESPACE_BEGIN (Messaging) TAO_NAMESPACE_DEFINE (const CORBA::Short, SYNC_WITH_TARGET, 3) TAO_NAMESPACE_END -// = TAO specific extension. -TAO_NAMESPACE_TYPE (const CORBA::Short) -TAO_NAMESPACE_BEGIN (Messaging) -TAO_NAMESPACE_DEFINE (const CORBA::Short, SYNC_FLUSH, 4) -TAO_NAMESPACE_END static const CORBA::Long _oc_Messaging_RoutingType[] = { TAO_ENCAP_BYTE_ORDER, // byte order @@ -1365,7 +1360,7 @@ TAO_NAMESPACE_END // **************************************************************** -#if defined(TAO_HAS_AMI_CALLBACK) || defined (TAO_HAS_AMI_POLLER) +#if (TAO_HAS_AMI_CALLBACK == 1) || (TAO_HAS_AMI_POLLER == 1) // ************************************************************* // Messaging::ExceptionHolder::_tao_seq_Octet @@ -1594,9 +1589,9 @@ OBV_Messaging::ExceptionHolder::marshaled_exception (void) } -#endif /* TAO_HAS_AMI_CALLBACK || TAO_HAS_AMI_POLLER */ +#endif /* TAO_HAS_AMI_CALLBACK == 1 || TAO_HAS_AMI_POLLER == 1 */ -#if defined(TAO_HAS_AMI_POLLER) +#if (TAO_HAS_AMI_POLLER == 1) Messaging::Poller_ptr Messaging::Poller::_narrow ( CORBA::Object_ptr obj, @@ -2059,7 +2054,7 @@ TAO_NAMESPACE_BEGIN (Messaging) TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_Poller, &_tc_TAO_tc_Messaging_Poller) TAO_NAMESPACE_END -#endif /* TAO_HAS_AMI_POLLER */ +#endif /* TAO_HAS_AMI_POLLER == 1 */ // **************************************************************** @@ -2338,7 +2333,7 @@ CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, Messaging::PolicyValueSe // **************************************************************** -#if defined(TAO_HAS_AMI_CALLBACK) || defined(TAO_HAS_AMI_POLLER) +#if (TAO_HAS_AMI_CALLBACK == 1) || (TAO_HAS_AMI_POLLER == 1) Messaging::ReplyHandler_ptr (*_TAO_collocation_Messaging_ReplyHandler_Stub_Factory_function_pointer) ( CORBA::Object_ptr obj @@ -2394,11 +2389,11 @@ CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, Messaging::ReplyHandler_ return 0; } -#endif /* TAO_HAS_AMI_CALLBACK || TAO_HAS_AMI_POLLER */ +#endif /* TAO_HAS_AMI_CALLBACK == 1 || TAO_HAS_AMI_POLLER == 1 */ // **************************************************************** -#if defined(TAO_HAS_AMI_POLLER) +#if (TAO_HAS_AMI_POLLER == 1) void operator<<= (CORBA::Any &_tao_any, Messaging::Poller_ptr _tao_elem) { @@ -2449,36 +2444,36 @@ CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, Messaging::Poller_ptr &_ ACE_ENDTRY; return 0; } -#endif /* TAO_HAS_AMI_POLLER */ +#endif /* TAO_HAS_AMI_POLLER == 1 */ #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) template class TAO_Unbounded_Sequence; -#if defined(TAO_HAS_AMI_CALLBACK) || defined (TAO_HAS_AMI_POLLER) +#if (TAO_HAS_AMI_CALLBACK == 1) || (TAO_HAS_AMI_POLLER == 1) template class TAO_Object_Field_T; template class TAO_Object_Manager; -#endif /* TAO_HAS_AMI_CALLBACK || TAO_HAS_AMI_POLLER */ +#endif /* TAO_HAS_AMI_CALLBACK == 1 || TAO_HAS_AMI_POLLER == 1 */ -#if defined(TAO_HAS_AMI_POLLER) +#if (TAO_HAS_AMI_POLLER == 1) template class TAO_Object_Field_T; template class TAO_Object_Manager; -#endif /* TAO_HAS_AMI_POLLER */ +#endif /* TAO_HAS_AMI_POLLER == 1 */ #elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) #pragma instantiate TAO_Unbounded_Sequence -#if defined(TAO_HAS_AMI_CALLBACK) || defined (TAO_HAS_AMI_POLLER) +#if (TAO_HAS_AMI_CALLBACK == 1) || (TAO_HAS_AMI_POLLER == 1) # pragma instantiate TAO_Object_Field_T # pragma instantiate TAO_Object_Manager -#endif /* TAO_HAS_AMI_CALLBACK || TAO_HAS_AMI_POLLER */ +#endif /* TAO_HAS_AMI_CALLBACK == 1 || TAO_HAS_AMI_POLLER == 1 */ -#if defined(TAO_HAS_AMI_POLLER) +#if (TAO_HAS_AMI_POLLER == 1) # pragma instantiate TAO_Object_Field_T # pragma instantiate TAO_Object_Manager -#endif /* TAO_HAS_AMI_POLLER */ +#endif /* TAO_HAS_AMI_POLLER == 1 */ #endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ diff --git a/TAO/tao/MessagingS.cpp b/TAO/tao/MessagingS.cpp index b17b9dfbe27..b177dca761f 100644 --- a/TAO/tao/MessagingS.cpp +++ b/TAO/tao/MessagingS.cpp @@ -10,7 +10,7 @@ #include "tao/orbconf.h" -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) #include "tao/MessagingS.h" #include "tao/POA_CORBA.h" @@ -211,13 +211,14 @@ CORBA::Boolean POA_Messaging::_tao_collocated_SyncScopePolicy::_is_a ( ); } -Messaging::SyncScope POA_Messaging::_tao_collocated_SyncScopePolicy::synchronization ( - CORBA::Environment &ACE_TRY_ENV - ) +Messaging::SyncScope POA_Messaging::_tao_collocated_SyncScopePolicy::synchronization (CORBA::Environment &ACE_TRY_ENV) +{ + return this->servant_->synchronization (ACE_TRY_ENV); +} + +Messaging::SyncScope POA_Messaging::_tao_collocated_SyncScopePolicy::synchronization (void) { - return this->servant_->synchronization ( - ACE_TRY_ENV - ); + return this->servant_->synchronization (); } @@ -1002,13 +1003,14 @@ CORBA::Boolean POA_Messaging::_tao_collocated_RelativeRequestTimeoutPolicy::_is_ ); } -TimeBase::TimeT POA_Messaging::_tao_collocated_RelativeRequestTimeoutPolicy::relative_expiry ( - CORBA::Environment &ACE_TRY_ENV - ) +TimeBase::TimeT POA_Messaging::_tao_collocated_RelativeRequestTimeoutPolicy::relative_expiry (CORBA::Environment &ACE_TRY_ENV) { - return this->servant_->relative_expiry ( - ACE_TRY_ENV - ); + return this->servant_->relative_expiry (ACE_TRY_ENV); +} + +TimeBase::TimeT POA_Messaging::_tao_collocated_RelativeRequestTimeoutPolicy::relative_expiry (void) +{ + return this->servant_->relative_expiry (); } @@ -1117,13 +1119,14 @@ CORBA::Boolean POA_Messaging::_tao_collocated_RelativeRoundtripTimeoutPolicy::_i ); } -TimeBase::TimeT POA_Messaging::_tao_collocated_RelativeRoundtripTimeoutPolicy::relative_expiry ( - CORBA::Environment &ACE_TRY_ENV - ) +TimeBase::TimeT POA_Messaging::_tao_collocated_RelativeRoundtripTimeoutPolicy::relative_expiry (CORBA::Environment &ACE_TRY_ENV) +{ + return this->servant_->relative_expiry (ACE_TRY_ENV); +} + +TimeBase::TimeT POA_Messaging::_tao_collocated_RelativeRoundtripTimeoutPolicy::relative_expiry (void) { - return this->servant_->relative_expiry ( - ACE_TRY_ENV - ); + return this->servant_->relative_expiry (); } @@ -1505,7 +1508,7 @@ POA_Messaging::QueueOrderPolicy::_dispatch ( // **************************************************************** -#if defined (TAO_HAS_AMI_CALLBACK) +#if (TAO_HAS_AMI_CALLBACK == 1) class TAO_Messaging_ReplyHandler_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable @@ -1891,11 +1894,11 @@ CORBA::Boolean POA_Messaging::_tao_direct_collocated_ReplyHandler::_non_existent return this->servant_->_non_existent (ACE_TRY_ENV); } -#endif /* TAO_HAS_AMI_CALLBACK */ +#endif /* TAO_HAS_AMI_CALLBACK == 1 */ // **************************************************************** -#if defined (TAO_HAS_AMI_POLLER) +#if (TAO_HAS_AMI_POLLER == 1) class TAO_Messaging_Poller_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable { @@ -2387,6 +2390,6 @@ POA_Messaging::Poller::_this (CORBA_Environment &ACE_TRY_ENV) return retval; } -#endif /* TAO_HAS_AMI_POLLER */ +#endif /* TAO_HAS_AMI_POLLER == 1 */ -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ diff --git a/TAO/tao/Messaging_Policy_i.cpp b/TAO/tao/Messaging_Policy_i.cpp index db171ad49b6..eb2d9247589 100644 --- a/TAO/tao/Messaging_Policy_i.cpp +++ b/TAO/tao/Messaging_Policy_i.cpp @@ -2,7 +2,9 @@ #include "tao/Messaging_Policy_i.h" -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) + +#include "tao/debug.h" #if ! defined (__ACE_INLINE__) #include "tao/Messaging_Policy_i.i" @@ -10,15 +12,15 @@ ACE_RCSID(TAO, Messaging_Policy_i, "$Id$") -TAO_RelativeRoundtripTimeoutPolicy_i::TAO_RelativeRoundtripTimeoutPolicy_i ( - PortableServer::POA_ptr poa, - const TimeBase::TimeT& relative_expiry) + +TAO_RelativeRoundtripTimeoutPolicy::TAO_RelativeRoundtripTimeoutPolicy (PortableServer::POA_ptr poa, + const TimeBase::TimeT& relative_expiry) : poa_ (PortableServer::POA::_duplicate (poa)), relative_expiry_ (relative_expiry) { } -TAO_RelativeRoundtripTimeoutPolicy_i::TAO_RelativeRoundtripTimeoutPolicy_i (const TAO_RelativeRoundtripTimeoutPolicy_i &rhs) +TAO_RelativeRoundtripTimeoutPolicy::TAO_RelativeRoundtripTimeoutPolicy (const TAO_RelativeRoundtripTimeoutPolicy &rhs) : TAO_RefCountServantBase (rhs), POA_Messaging::RelativeRoundtripTimeoutPolicy (rhs), poa_ (rhs.poa_), @@ -27,17 +29,19 @@ TAO_RelativeRoundtripTimeoutPolicy_i::TAO_RelativeRoundtripTimeoutPolicy_i (cons } TimeBase::TimeT -TAO_RelativeRoundtripTimeoutPolicy_i::relative_expiry ( - CORBA::Environment & - ) +TAO_RelativeRoundtripTimeoutPolicy::relative_expiry (CORBA::Environment &) +{ + return this->relative_expiry_; +} + +TimeBase::TimeT +TAO_RelativeRoundtripTimeoutPolicy::relative_expiry (void) { return this->relative_expiry_; } CORBA::PolicyType -TAO_RelativeRoundtripTimeoutPolicy_i::policy_type ( - CORBA_Environment & - ) +TAO_RelativeRoundtripTimeoutPolicy::policy_type (CORBA_Environment &) { // Future policy implementors: notice how this minimizes the // footprint of the class. @@ -45,11 +49,9 @@ TAO_RelativeRoundtripTimeoutPolicy_i::policy_type ( } CORBA::Policy_ptr -TAO_RelativeRoundtripTimeoutPolicy_i::create ( - PortableServer::POA_ptr poa, - const CORBA::Any& val, - CORBA::Environment &ACE_TRY_ENV - ) +TAO_RelativeRoundtripTimeoutPolicy::create (PortableServer::POA_ptr poa, + const CORBA::Any& val, + CORBA::Environment &ACE_TRY_ENV) { // Future policy implementors: notice how the following code is // exception safe! @@ -59,9 +61,9 @@ TAO_RelativeRoundtripTimeoutPolicy_i::create ( ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_TYPE), CORBA::Policy::_nil ()); - TAO_RelativeRoundtripTimeoutPolicy_i *tmp; + TAO_RelativeRoundtripTimeoutPolicy *tmp; ACE_NEW_THROW_EX (tmp, - TAO_RelativeRoundtripTimeoutPolicy_i (poa, + TAO_RelativeRoundtripTimeoutPolicy (poa, value), CORBA::NO_MEMORY (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_NO)); @@ -75,26 +77,24 @@ TAO_RelativeRoundtripTimeoutPolicy_i::create ( return result._retn (); } -TAO_RelativeRoundtripTimeoutPolicy_i * -TAO_RelativeRoundtripTimeoutPolicy_i::clone (void) const +TAO_RelativeRoundtripTimeoutPolicy * +TAO_RelativeRoundtripTimeoutPolicy::clone (void) const { - TAO_RelativeRoundtripTimeoutPolicy_i *copy = 0; + TAO_RelativeRoundtripTimeoutPolicy *copy = 0; ACE_NEW_RETURN (copy, - TAO_RelativeRoundtripTimeoutPolicy_i (*this), + TAO_RelativeRoundtripTimeoutPolicy (*this), 0); return copy; } CORBA::Policy_ptr -TAO_RelativeRoundtripTimeoutPolicy_i::copy ( - CORBA_Environment &ACE_TRY_ENV - ) +TAO_RelativeRoundtripTimeoutPolicy::copy (CORBA_Environment &ACE_TRY_ENV) { // Future policy implementors: notice how the following code is // exception safe! - TAO_RelativeRoundtripTimeoutPolicy_i* tmp; - ACE_NEW_THROW_EX (tmp, TAO_RelativeRoundtripTimeoutPolicy_i (*this), + TAO_RelativeRoundtripTimeoutPolicy* tmp; + ACE_NEW_THROW_EX (tmp, TAO_RelativeRoundtripTimeoutPolicy (*this), CORBA::NO_MEMORY (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_NO)); ACE_CHECK_RETURN (CORBA::Policy::_nil ()); @@ -108,9 +108,7 @@ TAO_RelativeRoundtripTimeoutPolicy_i::copy ( } void -TAO_RelativeRoundtripTimeoutPolicy_i::destroy ( - CORBA_Environment &ACE_TRY_ENV - ) +TAO_RelativeRoundtripTimeoutPolicy::destroy (CORBA_Environment &ACE_TRY_ENV) { PortableServer::ObjectId_var id = this->poa_->servant_to_id (this, ACE_TRY_ENV); @@ -120,13 +118,30 @@ TAO_RelativeRoundtripTimeoutPolicy_i::destroy ( } PortableServer::POA_ptr -TAO_RelativeRoundtripTimeoutPolicy_i::_default_POA ( - CORBA_Environment & - ) +TAO_RelativeRoundtripTimeoutPolicy::_default_POA (CORBA_Environment &) { return PortableServer::POA::_duplicate (this->poa_.in ()); } +void +TAO_RelativeRoundtripTimeoutPolicy::set_time_value (ACE_Time_Value &time_value) +{ + TimeBase::TimeT t = this->relative_expiry (); + TimeBase::TimeT seconds = t / 10000000u; + TimeBase::TimeT microseconds = (t % 10000000u) / 10; + time_value.set (ACE_U64_TO_U32 (seconds), + ACE_U64_TO_U32 (microseconds)); + + if (TAO_debug_level > 0) + { + CORBA::ULong msecs = + ACE_static_cast(CORBA::ULong, microseconds / 1000); + ACE_DEBUG ((LM_DEBUG, + ASYS_TEXT ("TAO (%P|%t) Timeout is <%u>\n"), + msecs)); + } +} + //////////////////////////////////////////////////////////////////////////////// TAO_Sync_Scope_Policy::TAO_Sync_Scope_Policy (Messaging::SyncScope synchronization, @@ -241,4 +256,4 @@ TAO_Sync_Scope_Policy::_default_POA (CORBA_Environment &) #endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ diff --git a/TAO/tao/ORB.cpp b/TAO/tao/ORB.cpp index ec2c6aeac58..271b907ca05 100644 --- a/TAO/tao/ORB.cpp +++ b/TAO/tao/ORB.cpp @@ -1,5 +1,4 @@ // $Id$ - #include "tao/ORB.h" #include "tao/Acceptor_Registry.h" #include "tao/Connector_Registry.h" @@ -32,7 +31,7 @@ #include "tao/Request.h" #include "tao/MProfile.h" -#if defined (TAO_HAS_INTERFACE_REPOSITORY) +#if (TAO_HAS_INTERFACE_REPOSITORY == 1) # include "tao/InterfaceC.h" #endif /*TAO_HAS_INTERFACE_REPOSITORY */ @@ -40,11 +39,11 @@ # include "tao/ValueFactory_Map.h" #endif /* TAO_HAS_VALUETYPE */ -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) #include "tao/Messaging_Policy_i.h" #include "tao/Client_Priority_Policy.h" #include "tao/Buffering_Constraint_Policy.h" -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ #if defined (ACE_HAS_EXCEPTIONS) # if defined (ACE_MVS) @@ -54,7 +53,7 @@ # include /**/ # if !defined (ACE_WIN32) using std::set_unexpected; -# endif /* !ACE_WIN32 */ +# endif /* ! ACE_WIN32 */ # else # include /**/ # endif /* ACE_HAS_STANDARD_CPP_LIBRARY */ @@ -67,6 +66,7 @@ using std::set_unexpected; ACE_RCSID(tao, ORB, "$Id$") + static const char ior_prefix [] = "IOR:"; static const char file_prefix[] = "file://"; @@ -190,13 +190,23 @@ CORBA_ORB::shutdown (CORBA::Boolean wait_for_completion, void CORBA_ORB::destroy (CORBA::Environment &ACE_TRY_ENV) { - this->check_shutdown (ACE_TRY_ENV); - ACE_CHECK; + if (this->orb_core () == 0) + { + // If the ORB_Core pointer is zero, assume that the ORB_Core has + // been destroyed. + + // As defined by the CORBA 2.3 specification, throw a + // CORBA::OBJECT_NOT_EXIST exception if the ORB has been + // destroyed by the time an ORB function is called. + + ACE_THROW (CORBA::OBJECT_NOT_EXIST (TAO_DEFAULT_MINOR_CODE, + CORBA::COMPLETED_NO)); + } if (TAO_debug_level >= 3) { ACE_DEBUG ((LM_DEBUG, - "CORBA::ORB::destroy() has been called on ORB <%s>.\n", + ASYS_TEXT ("CORBA::ORB::destroy() has been called on ORB <%s>.\n"), this->orb_core ()->orbid ())); } @@ -250,7 +260,7 @@ CORBA_ORB::create_list (CORBA::Long count, CORBA::NVList_ptr &new_list, CORBA_Environment &ACE_TRY_ENV) { - assert (CORBA::ULong (count) <= UINT_MAX); + ACE_ASSERT (CORBA::ULong (count) <= UINT_MAX); // Create an empty list ACE_NEW_THROW_EX (new_list, @@ -408,9 +418,9 @@ CORBA_ORB::resolve_poa_current (CORBA::Environment &ACE_TRY_ENV) } CORBA_Object_ptr -CORBA_ORB::resolve_policy_manager (CORBA::Environment& ACE_TRY_ENV) +CORBA_ORB::resolve_policy_manager (CORBA::Environment &ACE_TRY_ENV) { -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) TAO_Policy_Manager *policy_manager = this->orb_core_->policy_manager (); if (policy_manager == 0) @@ -418,19 +428,21 @@ CORBA_ORB::resolve_policy_manager (CORBA::Environment& ACE_TRY_ENV) return policy_manager->_this (ACE_TRY_ENV); #else + ACE_UNUSED_ARG (ACE_TRY_ENV); return CORBA_Object::_nil (); -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ } CORBA_Object_ptr -CORBA_ORB::resolve_policy_current (CORBA::Environment& ACE_TRY_ENV) +CORBA_ORB::resolve_policy_current (CORBA::Environment &ACE_TRY_ENV) { -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) TAO_Policy_Current &policy_current = this->orb_core_->policy_current (); return policy_current._this (ACE_TRY_ENV); #else + ACE_UNUSED_ARG (ACE_TRY_ENV); return CORBA_Object::_nil (); -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ } CORBA_Object_ptr @@ -536,8 +548,8 @@ CORBA_ORB::multicast_query (char *&buf, || acceptor.get_local_addr (my_addr) == -1) { ACE_ERROR ((LM_ERROR, - "acceptor.open () || " - "acceptor.get_local_addr () failed")); + ASYS_TEXT ("acceptor.open () || ") + ASYS_TEXT ("acceptor.get_local_addr () failed"))); result = -1; } else @@ -555,7 +567,7 @@ CORBA_ORB::multicast_query (char *&buf, if (multicast_addr.set (mde.c_str()) == -1) { ACE_ERROR ((LM_ERROR, - "ORB.cpp: Multicast address setting failed\n")); + ASYS_TEXT("ORB.cpp: Multicast address setting failed\n"))); stream.close (); dgram.close (); acceptor.close (); @@ -566,7 +578,7 @@ CORBA_ORB::multicast_query (char *&buf, if (dgram.open (ACE_Addr::sap_any) == -1) { ACE_ERROR ((LM_ERROR, - "Unable to open the Datagram!\n")); + ASYS_TEXT ("Unable to open the Datagram!\n"))); result = -1; } else @@ -604,19 +616,19 @@ CORBA_ORB::multicast_query (char *&buf, if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "\nsent multicast request.")); + ASYS_TEXT ("\nsent multicast request."))); // Check for errors. if (result == -1) ACE_ERROR ((LM_ERROR, - "%p\n", - "error sending IIOP multicast")); + ASYS_TEXT ("%p\n"), + ASYS_TEXT ("error sending IIOP multicast"))); else { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "\n%s; Sent multicast." - "# of bytes sent is %d.\n", + ASYS_TEXT ("\n%s; Sent multicast.") + ASYS_TEXT ("# of bytes sent is %d.\n"), __FILE__, result)); // Wait for response until timeout. @@ -631,8 +643,8 @@ CORBA_ORB::multicast_query (char *&buf, &tv) == -1) { ACE_ERROR ((LM_ERROR, - "%p\n", - "multicast_query: unable to accept")); + ASYS_TEXT ("%p\n"), + ASYS_TEXT ("multicast_query: unable to accept"))); result = -1; } else @@ -648,9 +660,9 @@ CORBA_ORB::multicast_query (char *&buf, if (result != sizeof (ior_len)) { ACE_ERROR ((LM_ERROR, - "%p\n", - "multicast_query: unable to receive " - "ior length")); + ASYS_TEXT ("%p\n"), + ASYS_TEXT ("multicast_query: unable to receive ") + ASYS_TEXT ("ior length"))); result = -1; } else @@ -664,9 +676,9 @@ CORBA_ORB::multicast_query (char *&buf, if (buf == 0) { ACE_ERROR ((LM_ERROR, - "%p\n", - "multicast_query: unable to " - "allocate memory")); + ASYS_TEXT ("%p\n"), + ASYS_TEXT ("multicast_query: unable to ") + ASYS_TEXT ("allocate memory"))); result = -1; } } @@ -680,11 +692,11 @@ CORBA_ORB::multicast_query (char *&buf, &tv); if (result == -1) ACE_ERROR ((LM_ERROR, - "%p\n", - "error reading ior")); + ASYS_TEXT ( "%p\n"), + ASYS_TEXT ("error reading ior"))); else if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "%s: service resolved to IOR <%s>\n", + ASYS_TEXT ("%s: service resolved to IOR <%s>\n"), __FILE__, buf)); } @@ -927,8 +939,8 @@ CORBA_ORB::check_shutdown (CORBA_Environment &ACE_TRY_ENV) // been destroyed. // As defined by the CORBA 2.3 specification, throw a - // CORBA::OBJECT_NOT_EXIST exception with minor code 4 if the ORB - // has shutdown by the time an ORB function is called. + // CORBA::OBJECT_NOT_EXIST exception if the ORB has been + // destroyed by the time an ORB function is called. ACE_THROW (CORBA::OBJECT_NOT_EXIST (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_NO)); @@ -988,7 +1000,7 @@ CORBA_ORB::create_dyn_enum (CORBA_TypeCode_ptr tc, return TAO_DynAny_i::create_dyn_enum (tc, ACE_TRY_ENV); } -#if defined (TAO_HAS_INTERFACE_REPOSITORY) +#if (TAO_HAS_INTERFACE_REPOSITORY == 1) CORBA_TypeCode_ptr CORBA_ORB::create_interface_tc (const char * id, @@ -1477,7 +1489,7 @@ CORBA::ORB_init (int &argc, if (TAO_debug_level >= 3) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) created new ORB <%s>\n", + ASYS_TEXT ("TAO (%P|%t) created new ORB <%s>\n"), orbid)); // Before returning remember to store the ORB into the table... @@ -1578,8 +1590,8 @@ CORBA_ORB::object_to_string (CORBA::Object_ptr obj, { if (TAO_debug_level > 0) ACE_ERROR ((LM_ERROR, - "TAO_Stub pointer in CORBA::ORB::object_to_string() " - "is zero.\n")); + ASYS_TEXT ("TAO_Stub pointer in CORBA::ORB::object_to_string() ") + ASYS_TEXT ("is zero.\n"))); ACE_THROW_RETURN (CORBA::MARSHAL ( CORBA_SystemException::_tao_minor_code ( @@ -1600,8 +1612,8 @@ CORBA_ORB::object_to_string (CORBA::Object_ptr obj, { if (TAO_debug_level > 0) ACE_ERROR ((LM_ERROR, - "TAO_Profile pointer in " - "CORBA::ORB::object_to_string() is zero.\n")); + ASYS_TEXT ("TAO_Profile pointer in ") + ASYS_TEXT ("CORBA::ORB::object_to_string() is zero.\n"))); ACE_THROW_RETURN (CORBA::MARSHAL ( CORBA_SystemException::_tao_minor_code ( @@ -1651,7 +1663,7 @@ CORBA_ORB::string_to_object (const char *str, // **************************************************************** -#if defined(TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) CORBA::Policy_ptr CORBA_ORB::create_policy (CORBA::PolicyType type, @@ -1668,9 +1680,9 @@ CORBA_ORB::create_policy (CORBA::PolicyType type, switch (type) { case TAO_MESSAGING_RELATIVE_RT_TIMEOUT_POLICY_TYPE: - return TAO_RelativeRoundtripTimeoutPolicy_i::create (root_poa.in (), - val, - ACE_TRY_ENV); + return TAO_RelativeRoundtripTimeoutPolicy::create (root_poa.in (), + val, + ACE_TRY_ENV); case TAO_CLIENT_PRIORITY_POLICY_TYPE: return TAO_Client_Priority_Policy::create (root_poa.in (), @@ -1708,7 +1720,7 @@ CORBA_ORB::create_policy (CORBA::PolicyType type, CORBA::Policy::_nil ()); } -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ // **************************************************************** @@ -1991,7 +2003,7 @@ CORBA_ORB::_tao_add_to_IOR_table (const ACE_CString &object_id, { if (CORBA::is_nil (obj)) ACE_ERROR_RETURN ((LM_ERROR, - "TAO (%P|%t): Cannot add nil object to table <%s>\n", + ASYS_TEXT ("TAO (%P|%t): Cannot add nil object to table <%s>\n"), object_id.c_str ()), -1); @@ -2005,7 +2017,7 @@ CORBA_ORB::_tao_add_to_IOR_table (const ACE_CString &object_id, if (this->lookup_table_.add_ior (object_id, ior) != 0) ACE_ERROR_RETURN ((LM_ERROR, - "TAO (%P|%t): Unable to add IOR to table <%s>\n", + ASYS_TEXT ("TAO (%P|%t): Unable to add IOR to table <%s>\n"), object_id.c_str ()), -1); @@ -2049,6 +2061,13 @@ CORBA_ORB::_tao_find_in_IOR_table (const ACE_CString &object_id, return 0; } +void +CORBA_ORB::_tao_register_IOR_table_callback (TAO_IOR_LookupTable_Callback *callback, + int delete_callback) +{ + this->lookup_table_.register_callback (callback, delete_callback); +} + // ************************************************************* // Inline operators for TAO_opaque encoding and decoding // ************************************************************* @@ -2126,7 +2145,7 @@ void CORBA_ORB::unregister_value_factory (const char * /* repository_id */, CORBA_Environment &) { - ACE_ERROR((LM_ERROR, "(%N:%l) function not implemented\n")); + ACE_ERROR((LM_ERROR, ASYS_TEXT ("(%N:%l) function not implemented\n"))); // %! TODO } diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp index b5325bc5271..eb3824679db 100644 --- a/TAO/tao/ORB_Core.cpp +++ b/TAO/tao/ORB_Core.cpp @@ -1,5 +1,6 @@ // $Id$ + #include "tao/ORB_Core.h" #include "ace/Env_Value_T.h" @@ -39,8 +40,10 @@ # include "tao/ORB_Core.i" #endif /* ! __ACE_INLINE__ */ + ACE_RCSID(tao, ORB_Core, "$Id$") + // **************************************************************** CORBA::Environment & @@ -56,6 +59,8 @@ TAO_ORB_Core::TAO_ORB_Core (const char *orbid) connector_registry_ (0), acceptor_registry_ (0), protocol_factories_ (0), + implrepo_service_ (CORBA::Object::_nil ()), + use_implrepo_ (0), orb_ (), root_poa_ (0), root_poa_reference_ (), @@ -76,11 +81,11 @@ TAO_ORB_Core::TAO_ORB_Core (const char *orbid) opt_for_collocation_ (1), use_global_collocation_ (1), collocation_strategy_ (THRU_POA), -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) policy_manager_ (0), default_policies_ (0), policy_current_ (0), -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ poa_current_ (0), object_adapter_ (0), tm_ (), @@ -102,10 +107,9 @@ TAO_ORB_Core::TAO_ORB_Core (const char *orbid) open_lock_ (), open_called_ (0), priority_mapping_ (0), -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) none_sync_strategy_ (0), - flush_sync_strategy_ (0), -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ transport_sync_strategy_ (0), svc_config_argc_ (0), svc_config_argv_ (0) @@ -118,14 +122,11 @@ TAO_ORB_Core::TAO_ORB_Core (const char *orbid) ACE_NEW (this->to_iso8859_, ACE_IBM1047_ISO8859); #endif /* ACE_MVS */ -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) ACE_NEW (this->none_sync_strategy_, TAO_None_Sync_Strategy); - ACE_NEW (this->flush_sync_strategy_, - TAO_Flush_Sync_Strategy); - ACE_NEW (this->policy_manager_, TAO_Policy_Manager); @@ -135,7 +136,7 @@ TAO_ORB_Core::TAO_ORB_Core (const char *orbid) ACE_NEW (this->policy_current_, TAO_Policy_Current); -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ ACE_NEW (this->transport_sync_strategy_, TAO_Transport_Sync_Strategy); @@ -149,16 +150,15 @@ TAO_ORB_Core::~TAO_ORB_Core (void) delete this->from_iso8859_; delete this->to_iso8859_; -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) delete this->none_sync_strategy_; - delete this->flush_sync_strategy_; delete this->policy_manager_; delete this->default_policies_; delete this->policy_current_; -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ delete this->transport_sync_strategy_; @@ -293,7 +293,7 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) if (TAO_debug_level <= 0) TAO_debug_level = 1; ACE_DEBUG ((LM_DEBUG, - "TAO_debug_level == %d", TAO_debug_level)); + ASYS_TEXT ("TAO_debug_level == %d"), TAO_debug_level)); } } #endif /* TAO_DEBUG */ @@ -305,8 +305,7 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) //////////////////////////////////////////////////////////////// // begin with the 'parameterless' flags // //////////////////////////////////////////////////////////////// - if (arg_shifter.cur_arg_strncasecmp - ("-ORBDaemon") != -1) + if (arg_shifter.cur_arg_strncasecmp ("-ORBDaemon") == 0) { // Be a daemon this->svc_config_argv_[this->svc_config_argc_++] = @@ -315,19 +314,28 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) arg_shifter.consume_arg (); } else if (arg_shifter.cur_arg_strncasecmp - ("-ORBSkipServiceConfigOpen") != -1) + ("-ORBSkipServiceConfigOpen") == 0) { - arg_shifter.consume_arg (); - skip_service_config_open = 1; + + arg_shifter.consume_arg (); } - else if (arg_shifter.cur_arg_strncasecmp ("-ORBGIOPlite") != -1) + else if (arg_shifter.cur_arg_strncasecmp ("-ORBGIOPlite") == 0) { // @@ This will have to change since gioplite // will be considered as an alternate ORB // messaging protocols. giop_lite = 1; + arg_shifter.consume_arg (); + } + else if (arg_shifter.cur_arg_strncasecmp ("-ORBDebug") == 0) + { + // later, replace all of these + // warning this turns on a daemon + ACE::debug (1); + TAO_orbdebug = 1; + arg_shifter.consume_arg (); } @@ -362,16 +370,6 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) TAO_debug_level = ACE_OS::atoi (current_arg); - arg_shifter.consume_arg (); - } - else if ((current_arg = arg_shifter.get_the_parameter - ("-ORBDebug"))) - { - // later, replace all of these - // warning this turns on a daemon - ACE::debug (1); - TAO_orbdebug = 1; - arg_shifter.consume_arg (); } else if ((current_arg = arg_shifter.get_the_parameter @@ -401,8 +399,8 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) if (this->orb_params ()->endpoints (endpts) != 0) { ACE_ERROR ((LM_ERROR, - "(%P|%t)\n" - "Invalid endpoint(s) specified:\n%s\n", + ASYS_TEXT ("(%P|%t)\n") + ASYS_TEXT ("Invalid endpoint(s) specified:\n%s\n"), endpts.c_str ())); ACE_THROW_RETURN (CORBA::BAD_PARAM (), -1); } @@ -426,8 +424,8 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) // Issue a warning since this backward compatibilty support // may be dropped in future releases. ACE_DEBUG ((LM_WARNING, - "(%P|%t) \nWARNING: The `-ORBHost' option is obsolete.\n" - "In the future, use the `-ORBEndpoint' option.\n")); + ASYS_TEXT ("(%P|%t) \nWARNING: The `-ORBHost' option is obsolete.\n") + ASYS_TEXT ("In the future, use the `-ORBEndpoint' option.\n"))); host = current_arg; @@ -440,9 +438,9 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) // Issue a warning since this backward compatibilty support // may be dropped in future releases. ACE_DEBUG ((LM_WARNING, - "(%P|%t) \nWARNING: The `-ORBNameServiceIOR' option " - "is obsolete.\n" - "Please use the `-ORBInitRef ' option instead.\n")); + ASYS_TEXT ("(%P|%t) \nWARNING: The `-ORBNameServiceIOR' option ") + ASYS_TEXT ("is obsolete.\n") + ASYS_TEXT ("Please use the `-ORBInitRef ' option instead.\n"))); // Construct an argument that would be equivalent to // "-ORBInitRef NameService=....." @@ -453,8 +451,8 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) if (this->orb_params ()->add_to_ior_table (init_ref) != 0) { ACE_ERROR ((LM_ERROR, - "TAO (%P|%t) Unable to add the Name " - "Service IOR <%s> to the lookup table.\n", + ASYS_TEXT ("TAO (%P|%t) Unable to add the Name ") + ASYS_TEXT ("Service IOR <%s> to the lookup table.\n"), current_arg)); ACE_THROW_RETURN (CORBA::INTERNAL (), -1); } @@ -497,9 +495,9 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) // Issue a warning since this backward compatibilty support // may be dropped in future releases. ACE_DEBUG ((LM_WARNING, - "(%P|%t) \nWARNING: The `-ORBTradingServiceIOR' " - "option is obsolete.\n" - "Please use the `-ORBInitRef' option instead.\n")); + ASYS_TEXT ("(%P|%t) \nWARNING: The `-ORBTradingServiceIOR' ") + ASYS_TEXT ("option is obsolete.\n") + ASYS_TEXT ("Please use the `-ORBInitRef' option instead.\n"))); // Construct an argument that would be equivalent to // "-ORBInitRef TradingService=....." @@ -512,8 +510,8 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) if (this->orb_params ()->add_to_ior_table (init_ref) != 0) { ACE_ERROR ((LM_ERROR, - "TAO (%P|%t) Unable to add the Trading " - "Service IOR <%s> to the lookup table.\n", + ASYS_TEXT ("TAO (%P|%t) Unable to add the Trading ") + ASYS_TEXT ("Service IOR <%s> to the lookup table.\n"), current_arg)); ACE_THROW_RETURN (CORBA::INTERNAL (), -1); } @@ -537,9 +535,9 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) // Issue a warning since this backward compatibilty support // may be dropped in future releases. ACE_DEBUG ((LM_WARNING, - "(%P|%t) \nWARNING: The `-ORBImplRepoServiceIOR' " - "option is obsolete.\n" - "Please use the `-ORBInitRef' option instead.\n")); + ASYS_TEXT ("(%P|%t) \nWARNING: The `-ORBImplRepoServiceIOR' ") + ASYS_TEXT ("option is obsolete.\n") + ASYS_TEXT ("Please use the `-ORBInitRef' option instead.\n"))); // Construct an argument that would be equivalent to // "-ORBInitRef ImplRepoService=....." @@ -552,9 +550,9 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) if (this->orb_params ()->add_to_ior_table (init_ref) != 0) { ACE_ERROR ((LM_ERROR, - "TAO (%P|%t) Unable to add the " - "Implementation Repository IOR <%s> to " - "the lookup table.\n", + ASYS_TEXT ("TAO (%P|%t) Unable to add the ") + ASYS_TEXT ("Implementation Repository IOR <%s> to ") + ASYS_TEXT ("the lookup table.\n"), current_arg)); ACE_THROW_RETURN (CORBA::INTERNAL (), -1); } @@ -578,8 +576,8 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) old_style_endpoint = 1; ACE_DEBUG ((LM_WARNING, - "(%P|%t) \nWARNING: The `-ORBPort' option is obsolete.\n" - "In the future, use the `-ORBEndpoint' option.\n")); + ASYS_TEXT ("(%P|%t) \nWARNING: The `-ORBPort' option is obsolete.\n") + ASYS_TEXT ("In the future, use the `-ORBEndpoint' option.\n"))); // Specify the port number/name on which we should listen // We really shouldn't limit this to being specified as @@ -668,9 +666,9 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) { yes_implies_global = 1; ACE_DEBUG ((LM_WARNING, - "WARNING: using '-ORBCollocation YES' is obsolete " - "and implies '-ORBCollocation global'" - " Please use '-ORBCollocation global' instead.\n")); + ASYS_TEXT ("WARNING: using '-ORBCollocation YES' is obsolete ") + ASYS_TEXT ("and implies '-ORBCollocation global'") + ASYS_TEXT (" Please use '-ORBCollocation global' instead.\n"))); } if (yes_implies_global || @@ -696,9 +694,9 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) // calls. { ACE_DEBUG ((LM_WARNING, - "WARNING: -ORBGlobalCollocation option is obsolete." - " Please use '-ORBCollocation global/per-orb/no'" - "instead.\n")); + ASYS_TEXT ("WARNING: -ORBGlobalCollocation option is obsolete.") + ASYS_TEXT (" Please use '-ORBCollocation global/per-orb/no'") + ASYS_TEXT ("instead.\n"))); char *opt = current_arg; if (ACE_OS::strcasecmp (opt, "YES") == 0) @@ -743,17 +741,17 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) // may be dropped in future releases. ACE_DEBUG ((LM_WARNING, - "(%P|%t) \nWARNING: The `host:port' pair style " - "for `-ORBPreconnect' is obsolete.\n" - "In the future, use the URL style.\n")); + ASYS_TEXT ("(%P|%t) \nWARNING: The `host:port' pair style ") + ASYS_TEXT ("for `-ORBPreconnect' is obsolete.\n") + ASYS_TEXT ("In the future, use the URL style.\n"))); preconnections = ACE_CString ("iiop://") + ACE_CString (preconnections); ACE_DEBUG ((LM_WARNING, - "(%P|%t) \nWARNING: The following preconnection " - "will be used:\n%s\n", + ASYS_TEXT ("(%P|%t) \nWARNING: The following preconnection ") + ASYS_TEXT ("will be used:\n%s\n"), preconnections.c_str())); this->orb_params ()->preconnects (preconnections); @@ -795,9 +793,9 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) if (this->orb_params ()->add_to_ior_table (init_ref) != 0) { ACE_ERROR ((LM_ERROR, - "Unable to add initial reference:\n" - "%s\n" - "to the initial reference lookup table.\n", + ASYS_TEXT ("Unable to add initial reference:\n") + ASYS_TEXT ("%s\n") + ASYS_TEXT ("to the initial reference lookup table.\n"), current_arg)); ACE_THROW_RETURN (CORBA::INTERNAL (), -1); } @@ -883,6 +881,14 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) ACE_LOG_MSG->set_flags (ACE_Log_Msg::OSTREAM); } + else if ((current_arg = arg_shifter.get_the_parameter + ("-ORBUseIMR"))) + { + // Use IR or not. + this->use_implrepo_ = ACE_OS::atoi (current_arg); + + arg_shifter.consume_arg (); + } //////////////////////////////////////////////////////////////// // catch all the remaining -ORB args // @@ -892,8 +898,8 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) { if (TAO_debug_level > 0) ACE_DEBUG ((LM_WARNING, - "WARNING: Unknown \"-ORB\" option <%s>.\n" - " Removing it from the argument list.\n", + ASYS_TEXT ("WARNING: Unknown \"-ORB\" option <%s>.\n") + ASYS_TEXT (" Removing it from the argument list.\n"), current_arg)); arg_shifter.consume_arg (); } @@ -942,9 +948,9 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) if (result != 0 && errno != ENOENT) { ACE_ERROR ((LM_ERROR, - "(%P|%t) %p\n", - "ORB Core unable to initialize the " - "Service Configurator")); + ASYS_TEXT ("(%P|%t) %p\n"), + ASYS_TEXT ("ORB Core unable to initialize the ") + ASYS_TEXT ("Service Configurator"))); ACE_THROW_RETURN (CORBA::INITIALIZE (), -1); } @@ -956,8 +962,8 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) if (trf == 0) { ACE_ERROR ((LM_ERROR, - "(%P|%t) %p\n", - "ORB Core unable to find a Resource Factory instance")); + ASYS_TEXT ("(%P|%t) %p\n"), + ASYS_TEXT ("ORB Core unable to find a Resource Factory instance"))); ACE_THROW_RETURN (CORBA::INTERNAL (), -1); } @@ -979,8 +985,8 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) if (reactor == 0) { ACE_ERROR ((LM_ERROR, - "(%P|%t) %p\n", - "ORB Core unable to initialize reactor")); + ASYS_TEXT ("(%P|%t) %p\n"), + ASYS_TEXT ("ORB Core unable to initialize reactor"))); ACE_THROW_RETURN (CORBA::INITIALIZE (), -1); } @@ -989,9 +995,9 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) if (ssf == 0) { ACE_ERROR ((LM_ERROR, - "(%P|%t) %p\n", - "ORB Core unable to find a Server Strategy Factory " - "instance")); + ASYS_TEXT ("(%P|%t) %p\n"), + ASYS_TEXT ("ORB Core unable to find a Server Strategy Factory ") + ASYS_TEXT ("instance"))); ACE_THROW_RETURN (CORBA::INTERNAL (), -1); } @@ -1141,8 +1147,8 @@ TAO_ORB_Core::set_iiop_endpoint (int dotted_decimal_addresses, if (ACE_OS::hostname (name, MAXHOSTNAMELEN + 1) == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) %p\n", - "failed to look up local host name"), + ASYS_TEXT ("(%P|%t) %p\n"), + ASYS_TEXT ("failed to look up local host name")), -1); } host.set (name, 1); @@ -1161,8 +1167,8 @@ TAO_ORB_Core::set_iiop_endpoint (int dotted_decimal_addresses, dotted_decimal_addresses) == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) %p\n", - "failed in addr_to_string ()"), + ASYS_TEXT ("(%P|%t) %p\n"), + ASYS_TEXT ("failed in addr_to_string ()")), -1); } @@ -1179,10 +1185,12 @@ TAO_ORB_Core::fini (void) // Wait for any server threads, ignoring any failures. (void) this->thr_mgr ()->wait (); + CORBA::release (this->implrepo_service_); + if (TAO_debug_level >= 3) { ACE_DEBUG ((LM_DEBUG, - "Destroying ORB <%s>\n", + ASYS_TEXT ("Destroying ORB <%s>\n"), this->orbid_)); } @@ -1225,9 +1233,9 @@ TAO_ORB_Core::fini (void) } delete this->reactor_registry_; -#if defined(TAO_HAS_RT_CORBA) +#if (TAO_HAS_RT_CORBA == 1) delete this->priority_mapping_; -#endif /* TAO_HAS_RT_CORBA */ +#endif /* TAO_HAS_RT_CORBA == 1 */ delete this; @@ -1256,10 +1264,10 @@ TAO_ORB_Core::resource_factory (void) // platforms. if (TAO_orbdebug) ACE_ERROR ((LM_WARNING, - "(%P|%t) WARNING - No Resource Factory found " - "in Service Repository.\n" - " Using default instance with GLOBAL resource " - "source specifier.\n")); + ASYS_TEXT ("(%P|%t) WARNING - No Resource Factory found ") + ASYS_TEXT ("in Service Repository.\n") + ASYS_TEXT (" Using default instance with GLOBAL resource ") + ASYS_TEXT ("source specifier.\n"))); TAO_Default_Resource_Factory *default_factory; ACE_NEW_RETURN (default_factory, @@ -1299,9 +1307,9 @@ TAO_ORB_Core::client_factory (void) // platforms. if (TAO_orbdebug) ACE_ERROR ((LM_WARNING, - "(%P|%t) WARNING - No Client Strategy Factory found " - "in Service Repository.\n" - " Using default instance.\n")); + ASYS_TEXT ("(%P|%t) WARNING - No Client Strategy Factory found ") + ASYS_TEXT ("in Service Repository.\n") + ASYS_TEXT (" Using default instance.\n"))); ACE_NEW_RETURN (this->client_factory_, TAO_Default_Client_Strategy_Factory, @@ -1338,9 +1346,9 @@ TAO_ORB_Core::server_factory (void) // Still don't have one, so let's allocate the default. if (TAO_orbdebug) ACE_ERROR ((LM_WARNING, - "(%P|%t) WARNING - No %s found in Service Repository." - " Using default instance.\n", - "Server Strategy Factory")); + ASYS_TEXT ("(%P|%t) WARNING - No %s found in Service Repository.") + ASYS_TEXT (" Using default instance.\n"), + ASYS_TEXT ("Server Strategy Factory"))); ACE_NEW_RETURN (this->server_factory_, TAO_Default_Server_Strategy_Factory, @@ -1594,7 +1602,7 @@ TAO_ORB_Core::run (ACE_Time_Value *tv, { if (TAO_debug_level >= 3) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) - start of run\n")); + ASYS_TEXT ("TAO (%P|%t) - start of run\n"))); TAO_Leader_Follower &leader_follower = this->leader_follower (); { @@ -1636,7 +1644,7 @@ TAO_ORB_Core::run (ACE_Time_Value *tv, { if (TAO_debug_level >= 3) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) - blocking on handle events\n")); + ASYS_TEXT ("TAO (%P|%t) - blocking on handle events\n"))); switch (r->handle_events (tv)) { case 0: // Timed out, so we return to caller. @@ -1666,13 +1674,13 @@ TAO_ORB_Core::run (ACE_Time_Value *tv, if (leader_follower.elect_new_leader () == -1) ACE_ERROR_RETURN ((LM_ERROR, - "TAO (%P|%t) Failed to wake up " - "a follower thread\n"), + ASYS_TEXT ("TAO (%P|%t) Failed to wake up ") + ASYS_TEXT ("a follower thread\n")), -1); } if (TAO_debug_level >= 3) - ACE_DEBUG ((LM_DEBUG, "TAO (%P|%t) - end of run %d\n", result)); + ACE_DEBUG ((LM_DEBUG, ASYS_TEXT ("TAO (%P|%t) - end of run %d\n"), result)); return result; } @@ -1769,30 +1777,6 @@ TAO_ORB_Core::open (CORBA::Environment &ACE_TRY_ENV) // **************************************************************** -#if defined (TAO_HAS_CORBA_MESSAGING) - -TAO_None_Sync_Strategy & -TAO_ORB_Core::none_sync_strategy (void) -{ - return *this->none_sync_strategy_; -} - -TAO_Flush_Sync_Strategy & -TAO_ORB_Core::flush_sync_strategy (void) -{ - return *this->flush_sync_strategy_; -} - -#endif /* TAO_HAS_CORBA_MESSAGING */ - -TAO_Transport_Sync_Strategy & -TAO_ORB_Core::transport_sync_strategy (void) -{ - return *this->transport_sync_strategy_; -} - -// **************************************************************** - ACE_Allocator* TAO_ORB_Core::input_cdr_dblock_allocator_i (TAO_ORB_Core_TSS_Resources *tss) { @@ -1811,9 +1795,9 @@ TAO_ORB_Core::input_cdr_dblock_allocator (void) TAO_ORB_Core_TSS_Resources *tss = this->get_tss_resources (); if (tss == 0) ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) %p\n", - "TAO_ORB_Core::input_cdr_dblock_allocator (); " - "no more TSS keys"), + ASYS_TEXT ("(%P|%t) %p\n"), + ASYS_TEXT ("TAO_ORB_Core::input_cdr_dblock_allocator (); ") + ASYS_TEXT ("no more TSS keys")), 0); return this->input_cdr_dblock_allocator_i (tss); } @@ -1847,9 +1831,9 @@ TAO_ORB_Core::input_cdr_buffer_allocator (void) TAO_ORB_Core_TSS_Resources *tss = this->get_tss_resources (); if (tss == 0) ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) %p\n", - "TAO_ORB_Core::input_cdr_buffer_allocator (); " - "no more TSS keys"), + ASYS_TEXT ("(%P|%t) %p\n"), + ASYS_TEXT ("TAO_ORB_Core::input_cdr_buffer_allocator (); ") + ASYS_TEXT ("no more TSS keys")), 0); return this->input_cdr_buffer_allocator_i (tss); @@ -1876,9 +1860,9 @@ TAO_ORB_Core::output_cdr_dblock_allocator (void) TAO_ORB_Core_TSS_Resources *tss = this->get_tss_resources (); if (tss == 0) ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) %p\n", - "TAO_ORB_Core::output_cdr_dblock_allocator (); " - "no more TSS keys"), + ASYS_TEXT ("(%P|%t) %p\n"), + ASYS_TEXT ("TAO_ORB_Core::output_cdr_dblock_allocator (); ") + ASYS_TEXT ("no more TSS keys")), 0); if (tss->output_cdr_dblock_allocator_ == 0) @@ -1911,9 +1895,9 @@ TAO_ORB_Core::output_cdr_buffer_allocator (void) TAO_ORB_Core_TSS_Resources *tss = this->get_tss_resources (); if (tss == 0) ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) %p\n", - "TAO_ORB_Core::input_cdr_buffer_allocator (); " - "no more TSS keys"), + ASYS_TEXT ("(%P|%t) %p\n"), + ASYS_TEXT ("TAO_ORB_Core::input_cdr_buffer_allocator (); ") + ASYS_TEXT ("no more TSS keys")), 0); if (tss->output_cdr_buffer_allocator_ == 0) @@ -1949,9 +1933,9 @@ TAO_ORB_Core::create_input_cdr_data_block (size_t size) TAO_ORB_Core_TSS_Resources *tss = this->get_tss_resources (); if (tss == 0) ACE_ERROR_RETURN ((LM_ERROR, - "(%P|%t) %p\n", - "TAO_ORB_Core::create_input_cdr_data_block (); " - "no more TSS keys"), + ASYS_TEXT ("(%P|%t) %p\n"), + ASYS_TEXT ("TAO_ORB_Core::create_input_cdr_data_block (); ") + ASYS_TEXT ("no more TSS keys")), 0); dblock_allocator = @@ -2028,46 +2012,10 @@ TAO_ORB_Core::reactor (TAO_Acceptor *acceptor) return this->reactor_; } -TAO_POA_Current & -TAO_ORB_Core::poa_current (void) const -{ - return *this->poa_current_; -} - -CORBA_Environment* -TAO_ORB_Core::default_environment (void) const -{ - return TAO_TSS_RESOURCES::instance ()->default_environment_; -} - -void -TAO_ORB_Core::default_environment (CORBA_Environment *env) -{ - TAO_TSS_RESOURCES::instance ()->default_environment_ = env; -} - -#if defined (TAO_HAS_CORBA_MESSAGING) - -TAO_Policy_Current & -TAO_ORB_Core::policy_current (void) -{ - return *this->policy_current_; -} - -#endif /* TAO_HAS_CORBA_MESSAGING */ - -#if defined (TAO_HAS_RT_CORBA) -TAO_Priority_Mapping * -TAO_ORB_Core::priority_mapping (void) -{ - return this->priority_mapping_; -} -#endif /* TAO_HAS_RT_CORBA */ - int TAO_ORB_Core::get_thread_priority (CORBA::Short &priority) { -#if !defined (TAO_HAS_RT_CORBA) +#if (TAO_HAS_RT_CORBA == 0) priority = 0; return 0; #else @@ -2078,8 +2026,8 @@ TAO_ORB_Core::get_thread_priority (CORBA::Short &priority) if (ACE_Thread::getprio (current, native_priority) == -1) { ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) - ORB_Core::get_thread_priority: " - " ACE_Thread::get_prio\n")); + ASYS_TEXT ("TAO (%P|%t) - ORB_Core::get_thread_priority: ") + ASYS_TEXT (" ACE_Thread::get_prio\n"))); return -1; } @@ -2089,19 +2037,19 @@ TAO_ORB_Core::get_thread_priority (CORBA::Short &priority) if (priority_mapping->to_CORBA (native_priority, priority) == 0) { ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) - ORB_Core::get_thread_priority: " - " Priority_Mapping::to_CORBA\n")); + ASYS_TEXT ("TAO (%P|%t) - ORB_Core::get_thread_priority: ") + ASYS_TEXT (" Priority_Mapping::to_CORBA\n"))); return -1; } return 0; -#endif /* TAO_HAS_RT_CORBA */ +#endif /* TAO_HAS_RT_CORBA == 0 */ } int TAO_ORB_Core::set_thread_priority (CORBA::Short priority) { -#if !defined (TAO_HAS_RT_CORBA) +#if (TAO_HAS_RT_CORBA == 0) ACE_UNUSED_ARG (priority); return 0; #else @@ -2118,9 +2066,70 @@ TAO_ORB_Core::set_thread_priority (CORBA::Short priority) return -1; return 0; -#endif /* TAO_HAS_RT_CORBA */ +#endif /* TAO_HAS_RT_CORBA == 0 */ } +CORBA::Object_ptr +TAO_ORB_Core::implrepo_service (void) +{ + if (!this->use_implrepo_) + return CORBA::Object::_nil (); + + if (CORBA::is_nil (this->implrepo_service_)) + { + + ACE_TRY_NEW_ENV + { + CORBA::Object_var temp = this->orb_->resolve_initial_references ("ImplRepoService", ACE_TRY_ENV); + ACE_TRY_CHECK; + + ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, ace_mon, this->lock_, CORBA::Object::_nil ()); + + // @@ Worry about assigning a different IOR? (brunsch) + this->implrepo_service_ = temp._retn (); + } + ACE_CATCHANY + { + // Just make sure that we have a null pointer. Ignore the exception anyway. + this->implrepo_service_ = CORBA::Object::_nil (); + } + ACE_ENDTRY; + } + + return CORBA::Object::_duplicate (this->implrepo_service_); +} + +#if (TAO_HAS_CORBA_MESSAGING == 1) + +TAO_RelativeRoundtripTimeoutPolicy * +TAO_ORB_Core::stubless_relative_roundtrip_timeout (void) +{ + TAO_RelativeRoundtripTimeoutPolicy *result = 0; + + // No need to lock, the object is in TSS storage.... + TAO_Policy_Current &policy_current = + this->policy_current (); + result = policy_current.relative_roundtrip_timeout (); + + // @@ Must lock, but is is harder to implement than just modifying + // this call: the ORB does take a lock to modify the policy + // manager + if (result == 0) + { + TAO_Policy_Manager *policy_manager = + this->policy_manager (); + if (policy_manager != 0) + result = policy_manager->relative_roundtrip_timeout (); + } + + if (result == 0) + result = this->default_relative_roundtrip_timeout (); + + return result; +} + +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ + // **************************************************************** TAO_ORB_Core_TSS_Resources::TAO_ORB_Core_TSS_Resources (void) @@ -2175,9 +2184,9 @@ TAO_ORB_Core_TSS_Resources::~TAO_ORB_Core_TSS_Resources (void) TAO_TSS_Resources::TAO_TSS_Resources (void) : poa_current_impl_ (0), default_environment_ (&this->tss_environment_) -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) , policy_current_ (&this->initial_policy_current_) -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ { } diff --git a/TAO/tao/Object.cpp b/TAO/tao/Object.cpp index 896f7880790..9552b80b40d 100644 --- a/TAO/tao/Object.cpp +++ b/TAO/tao/Object.cpp @@ -1,4 +1,5 @@ // @(#) $Id$ + // // Copyright 1994-1995 by Sun Microsystems Inc. // All Rights Reserved @@ -16,9 +17,9 @@ #include "tao/Connector_Registry.h" #include "tao/debug.h" -#if defined (TAO_HAS_INTERFACE_REPOSITORY) +#if (TAO_HAS_INTERFACE_REPOSITORY == 1) #include "tao/InterfaceC.h" -#endif /* TAO_HAS_INTERFACE_REPOSITORY */ +#endif /* TAO_HAS_INTERFACE_REPOSITORY == 1 */ #include "ace/Auto_Ptr.h" @@ -29,6 +30,7 @@ ACE_RCSID(tao, Object, "$Id$") + CORBA_Object::~CORBA_Object (void) { if (this->protocol_proxy_) @@ -222,7 +224,7 @@ CORBA::Object::_key (CORBA::Environment &) if (this->_stubobj () && this->_stubobj ()->profile_in_use ()) return this->_stubobj ()->profile_in_use ()->_key (); - ACE_ERROR_RETURN((LM_ERROR, "(%P|%t) Null stub obj!!!\n"), 0); + ACE_ERROR_RETURN((LM_ERROR, ASYS_TEXT ("(%P|%t) Null stub obj!!!\n")), 0); } const TAO_ObjectKey & @@ -406,11 +408,11 @@ CORBA_Object::_request (const CORBA::Char *operation, CORBA::InterfaceDef_ptr CORBA_Object::_get_interface (CORBA::Environment &ACE_TRY_ENV) { -#if defined (TAO_HAS_INTERFACE_REPOSITORY) +#if (TAO_HAS_INTERFACE_REPOSITORY == 1) CORBA::InterfaceDef_ptr _tao_retval = CORBA::InterfaceDef::_nil(); #else CORBA::InterfaceDef_ptr _tao_retval = 0; -#endif /* TAO_HAS_INTERFACE_REPOSITORY */ +#endif /* TAO_HAS_INTERFACE_REPOSITORY == 1 */ TAO_Stub *istub = this->_stubobj (); if (istub == 0) @@ -451,7 +453,7 @@ CORBA_Object::_get_interface (CORBA::Environment &ACE_TRY_ENV) break; } -#if defined (TAO_HAS_INTERFACE_REPOSITORY) +#if (TAO_HAS_INTERFACE_REPOSITORY == 1) TAO_InputCDR &_tao_in = _tao_call.inp_stream (); if (!( (_tao_in >> _tao_retval) @@ -462,7 +464,7 @@ CORBA_Object::_get_interface (CORBA::Environment &ACE_TRY_ENV) #else ACE_UNUSED_ARG (_tao_retval); ACE_THROW_RETURN (CORBA::INTF_REPOS (), _tao_retval); -#endif /* TAO_HAS_INTERFACE_REPOSITORY */ +#endif /* TAO_HAS_INTERFACE_REPOSITORY == 1 */ } CORBA::ImplementationDef_ptr @@ -478,7 +480,7 @@ CORBA_Object::_get_implementation (CORBA::Environment &) // @@ Does it make sense to support policy stuff for locality constrained // objects? Also, does it make sense to bind policies with stub object? // - nw. -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) CORBA::Policy_ptr CORBA_Object::_get_policy ( CORBA::PolicyType type, @@ -559,7 +561,7 @@ CORBA_Object::_validate_connection (CORBA::PolicyList_out inconsistent_policies, return 0; } -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ // **************************************************************** @@ -629,7 +631,7 @@ operator>> (TAO_InputCDR& cdr, CORBA_Object*& x) if (TAO_debug_level > 0) { ACE_DEBUG ((LM_DEBUG, - "WARNING: extracting object from default ORB_Core\n")); + ASYS_TEXT ("WARNING: extracting object from default ORB_Core\n"))); } } @@ -647,8 +649,8 @@ operator>> (TAO_InputCDR& cdr, CORBA_Object*& x) if (mp.profile_count () != profile_count) { ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) could not create all " - "the profiles\n")); + ASYS_TEXT ("TAO (%P|%t) could not create all ") + ASYS_TEXT ("the profiles\n"))); return 0; } diff --git a/TAO/tao/Pluggable.cpp b/TAO/tao/Pluggable.cpp index 4d98bdbb2df..181c8e211cc 100644 --- a/TAO/tao/Pluggable.cpp +++ b/TAO/tao/Pluggable.cpp @@ -1,5 +1,7 @@ +// This may look like C, but it's really -*- C++ -*- // $Id$ + #include "tao/Pluggable.h" #include "tao/Stub.h" #include "tao/Environment.h" @@ -19,6 +21,7 @@ ACE_RCSID(tao, Pluggable, "$Id$") + // **************************************************************** // Constructor. @@ -56,7 +59,7 @@ TAO_Transport::send_buffered_messages (const ACE_Time_Value *max_wait_time) // Make sure we have a buffering queue and there are messages in it. if (this->buffering_queue_ == 0 || this->buffering_queue_->is_empty ()) - return 0; + return 1; // Get the first message from the queue. ACE_Message_Block *queued_message = 0; @@ -69,22 +72,16 @@ TAO_Transport::send_buffered_messages (const ACE_Time_Value *max_wait_time) result = this->send (queued_message, max_wait_time); - // Socket closed. - if (result == 0) - { - this->dequeue_all (); - return -1; - } - // Cannot send. - if (result == -1) + if (result == -1 || + result == 0) { // Timeout. if (errno == ETIME) { // Since we queue up the message, this is not an error. We // can try next time around. - return 0; + return 1; } // Non-timeout error. else @@ -104,72 +101,75 @@ TAO_Transport::send_buffered_messages (const ACE_Time_Value *max_wait_time) } void -TAO_Transport::dequeue_head (void) +TAO_Transport::reset_sent_message (ACE_Message_Block *message_block, + size_t bytes_delivered) { - // Remove from the head of the queue. - ACE_Message_Block *message_block = 0; - int result = this->buffering_queue_->dequeue_head (message_block); - - // @@ What to do here on failures? - ACE_ASSERT (result != -1); - ACE_UNUSED_ARG (result); - - // Release the memory. - message_block->release (); + this->reset_message (message_block, + bytes_delivered, + 0); } + void -TAO_Transport::dequeue_all (void) +TAO_Transport::reset_queued_message (ACE_Message_Block *message_block, + size_t bytes_delivered) { - // Flush all queued messages. - if (this->buffering_queue_) - { - while (!this->buffering_queue_->is_empty ()) - this->dequeue_head (); - } + this->reset_message (message_block, + bytes_delivered, + 1); } void -TAO_Transport::reset_queued_message (ACE_Message_Block *message_block, - size_t bytes_delivered) +TAO_Transport::reset_message (ACE_Message_Block *message_block, + size_t bytes_delivered, + int queued_message) { - while (message_block != 0 && - bytes_delivered != 0) + while (bytes_delivered != 0) { - // Partial send. - if (message_block->length () > bytes_delivered) + // Our current message block chain. + ACE_Message_Block *current_message_block = message_block; + + int completely_delivered_current_message_block_chain = 0; + + while (current_message_block != 0 && + bytes_delivered != 0) { - // Reset so that we skip this in the next send. - message_block->rd_ptr (bytes_delivered); + size_t current_message_block_length = current_message_block->length (); - // Hand adjust . - this->buffering_queue_->message_length (this->buffering_queue_->message_length () - bytes_delivered); + int completely_delivered_current_message_block = + bytes_delivered >= current_message_block_length; - break; - } + size_t adjustment_size = ACE_MIN (current_message_block_length, bytes_delivered); - // was completely sent. - bytes_delivered -= message_block->length (); + // Reset according to send size. + current_message_block->rd_ptr (adjustment_size); - // Check continuation chain. - if (message_block->cont ()) - { - // Reset so that we skip this message block in the next send. - message_block->rd_ptr (message_block->length ()); + // If queued message, adjust the queue. + if (queued_message) + // Hand adjust . + this->buffering_queue_->message_length (this->buffering_queue_->message_length () - adjustment_size); - // Hand adjust . - this->buffering_queue_->message_length (this->buffering_queue_->message_length () - bytes_delivered); + // Adjust . + bytes_delivered -= adjustment_size; - // Next selection. - message_block = message_block->cont (); + if (completely_delivered_current_message_block) + { + // Next message block in the continuation chain. + current_message_block = current_message_block->cont (); + + if (current_message_block == 0) + completely_delivered_current_message_block_chain = 1; + } } - else + + if (completely_delivered_current_message_block_chain) { - // Go to the next one. + // Go to the next message block chain. message_block = message_block->next (); - - // Release this . - this->dequeue_head (); + // If queued message, adjust the queue. + if (queued_message) + // Release this . + this->dequeue_head (); } } } @@ -237,19 +237,6 @@ TAO_Transport::start_locate (TAO_ORB_Core *, ACE_THROW (CORBA::INTERNAL ()); } -TAO_Transport_Buffering_Queue & -TAO_Transport::buffering_queue (void) -{ - if (this->buffering_queue_ == 0) - { - // Infinite high water mark: ACE_UINT32_MAX. - this->buffering_queue_ = - new TAO_Transport_Buffering_Queue (ACE_UINT32_MAX); - } - - return *this->buffering_queue_; -} - // ********************************************************************* // Connector @@ -300,7 +287,7 @@ TAO_Connector::make_mprofile (const char *string, if (TAO_debug_level > 0) { ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) - TAO_Connector::make_mprofile <%s>\n", + ASYS_TEXT ("TAO (%P|%t) - TAO_Connector::make_mprofile <%s>\n"), string)); } diff --git a/TAO/tao/Policy_Manager.cpp b/TAO/tao/Policy_Manager.cpp index 67ed5640909..2fded2da609 100644 --- a/TAO/tao/Policy_Manager.cpp +++ b/TAO/tao/Policy_Manager.cpp @@ -2,7 +2,7 @@ #include "tao/Policy_Manager.h" -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) #include "tao/Environment.h" #include "tao/ORB_Core.h" @@ -161,8 +161,8 @@ TAO_Policy_Manager_Impl::set_policy_overrides ( if (tmp == 0) ACE_THROW (CORBA::INTERNAL ()); - TAO_RelativeRoundtripTimeoutPolicy_i *policy = - ACE_dynamic_cast (TAO_RelativeRoundtripTimeoutPolicy_i *, tmp); + TAO_RelativeRoundtripTimeoutPolicy *policy = + ACE_dynamic_cast (TAO_RelativeRoundtripTimeoutPolicy *, tmp); if (policy == 0) ACE_THROW (CORBA::INTERNAL ()); @@ -516,4 +516,4 @@ TAO_Policy_Current::implementation (void) const return *TAO_TSS_RESOURCES::instance ()->policy_current_; } -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ diff --git a/TAO/tao/PollableC.cpp b/TAO/tao/PollableC.cpp index 53d86ddd52c..a7941e67d6a 100644 --- a/TAO/tao/PollableC.cpp +++ b/TAO/tao/PollableC.cpp @@ -19,7 +19,7 @@ #include "tao/PollableC.h" -#if defined (TAO_HAS_CORBA_MESSAGING) && defined (TAO_HAS_AMI_POLLER) +#if (TAO_HAS_CORBA_MESSAGING == 1) && (TAO_HAS_AMI_POLLER == 1) #include "tao/POA_CORBA.h" #include "tao/Stub.h" @@ -76,7 +76,7 @@ CORBA_Pollable_ptr CORBA_Pollable::_narrow ( CORBA_Pollable_ptr CORBA_Pollable::_unchecked_narrow ( CORBA::Object_ptr obj, - CORBA::Environment &env + CORBA::Environment & /*env*/ ) { if (CORBA::is_nil (obj)) @@ -260,7 +260,7 @@ CORBA::DIIPollable_ptr CORBA::DIIPollable::_narrow ( servant = obj->_servant()->_downcast ("IDL:omg.org/CORBA/DIIPollable:1.0"); if (servant == 0) { - CORBA::DIIPollable_ptr rval = CORBA_Pollable::_nil (); + CORBA::DIIPollable_ptr rval = CORBA::DIIPollable::_nil (); ACE_NEW_RETURN (rval, CORBA::DIIPollable (stub), @@ -286,7 +286,7 @@ CORBA::DIIPollable_ptr CORBA::DIIPollable::_narrow ( CORBA::DIIPollable_ptr CORBA::DIIPollable::_unchecked_narrow ( CORBA::Object_ptr obj, - CORBA::Environment &env + CORBA::Environment & /*env*/ ) { if (CORBA::is_nil (obj)) @@ -298,7 +298,7 @@ CORBA::DIIPollable_ptr CORBA::DIIPollable::_unchecked_narrow ( servant = obj->_servant()->_downcast ("IDL:omg.org/CORBA/DIIPollable:1.0"); if (servant == 0) { - CORBA::DIIPollable_ptr rval = CORBA_Pollable::_nil (); + CORBA::DIIPollable_ptr rval = CORBA::DIIPollable::_nil (); ACE_NEW_RETURN (rval, CORBA::DIIPollable (stub), @@ -382,7 +382,7 @@ CORBA_PollableSet_ptr CORBA_PollableSet::_narrow ( CORBA_PollableSet_ptr CORBA_PollableSet::_unchecked_narrow ( CORBA::Object_ptr obj, - CORBA::Environment &env + CORBA::Environment & /*env*/ ) { if (CORBA::is_nil (obj)) @@ -466,7 +466,7 @@ CORBA::Exception *CORBA_PollableSet::NoPossiblePollable::_alloc (void) CORBA::Exception *retval = 0; ACE_NEW_RETURN (retval, - CORBA_PollableSet::NoPossiblePollable + CORBA_PollableSet::NoPossiblePollable, 0); return retval; @@ -530,7 +530,7 @@ CORBA::Exception *CORBA_PollableSet::UnknownPollable::_alloc (void) CORBA::Exception *retval = 0; ACE_NEW_RETURN (retval, - CORBA_PollableSet::UnknownPollable + CORBA_PollableSet::UnknownPollable, 0); return retval; @@ -1274,4 +1274,4 @@ operator>> ( return 0; } -#endif /* TAO_HAS_CORBA_MESSAGING && TAO_HAS_AMI_POLLER */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 && TAO_HAS_AMI_POLLER == 1 */ diff --git a/TAO/tao/PollableS.cpp b/TAO/tao/PollableS.cpp index 34c54e93b9d..482ff6114fe 100644 --- a/TAO/tao/PollableS.cpp +++ b/TAO/tao/PollableS.cpp @@ -19,11 +19,11 @@ #include "tao/PollableS.h" -#if defined (TAO_HAS_CORBA_MESSAGING) && defined (TAO_HAS_AMI_POLLER) +#if (TAO_HAS_CORBA_MESSAGING == 1) && (TAO_HAS_AMI_POLLER == 1) #include "tao/Operation_Table.h" #include "tao/Server_Request.h" - +#include "tao/ORB.h" #if !defined (__ACE_INLINE__) #include "tao/PollableS.i" #endif /* !defined INLINE */ @@ -971,4 +971,4 @@ POA_CORBA::PollableSet::_this (CORBA_Environment &ACE_TRY_ENV) return retval; } -#endif /* TAO_HAS_CORBA_MESSAGING && TAO_HAS_AMI_POLLER */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 && TAO_HAS_AMI_POLLER == 1 */ diff --git a/TAO/tao/Pool_Per_Endpoint.cpp b/TAO/tao/Pool_Per_Endpoint.cpp index fda07a33f81..e2d28d8c409 100644 --- a/TAO/tao/Pool_Per_Endpoint.cpp +++ b/TAO/tao/Pool_Per_Endpoint.cpp @@ -37,12 +37,12 @@ TAO_Pool_Per_Endpoint::run (CORBA::Environment &ACE_TRY_ENV) TAO_Acceptor_Registry *ac = this->orb_->orb_core ()->acceptor_registry (); - for (TAO_AcceptorSetItor i = ac->begin (); i != ac->end (); ++i) + for (TAO_AcceptorSetIterator i = ac->begin (); i != ac->end (); ++i) { int priority = ACE_Sched_Params::priority_min (this->policy_); -#if defined (TAO_HAS_RT_CORBA) +#if (TAO_HAS_RT_CORBA == 1) RTCORBA::PriorityMapping *pm = this->orb_->orb_core ()->priority_mapping (); const CORBA::Short corba_priority = (*i)->priority (); @@ -52,9 +52,9 @@ TAO_Pool_Per_Endpoint::run (CORBA::Environment &ACE_TRY_ENV) if (TAO_debug_level > 3) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) - creating thread at priority %d:%d\n", + ASYS_TEXT ("TAO (%P|%t) - creating thread at priority %d:%d\n"), priority, corba_priority)); -#endif /* TAO_HAS_RT_CORBA */ +#endif /* TAO_HAS_RT_CORBA == 1 */ if (this->activate (this->flags_, this->poolsize_, /* number of threads */ 1, /* force active */ @@ -71,16 +71,16 @@ TAO_Pool_Per_Endpoint::svc (void) { if (TAO_debug_level > 3) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) - TAO_Pool_Per_Endpoint::svc: " - " using reactor <%x> in this thread\n", + ASYS_TEXT ("TAO (%P|%t) - TAO_Pool_Per_Endpoint::svc: ") + ASYS_TEXT (" using reactor <%x> in this thread\n"), this->orb_->orb_core ()->reactor ())); this->orb_->run (); if (TAO_debug_level > 3) ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) - TAO_Pool_Per_Endpoint::svc: " - " ORB::run() finished\n")); + ASYS_TEXT ("TAO (%P|%t) - TAO_Pool_Per_Endpoint::svc: ") + ASYS_TEXT (" ORB::run() finished\n"))); return 0; } diff --git a/TAO/tao/Reply_Dispatcher.cpp b/TAO/tao/Reply_Dispatcher.cpp index 9792935fcab..8add1236a1a 100644 --- a/TAO/tao/Reply_Dispatcher.cpp +++ b/TAO/tao/Reply_Dispatcher.cpp @@ -135,9 +135,9 @@ TAO_Synch_Reply_Dispatcher::leader_follower_condition_variable (TAO_Transport *t // ********************************************************************* -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) -#if defined (TAO_HAS_AMI_CALLBACK) || defined (TAO_HAS_AMI_POLLER) +#if (TAO_HAS_AMI_CALLBACK == 1) || (TAO_HAS_AMI_POLLER == 1) // Constructor. TAO_Asynch_Reply_Dispatcher::TAO_Asynch_Reply_Dispatcher (const TAO_Reply_Handler_Skeleton &reply_handler_skel, @@ -229,9 +229,9 @@ TAO_Asynch_Reply_Dispatcher::message_state (void) return this->message_state_; } -#endif /* TAO_HAS_AMI_CALLBACK || TAO_HAS_AMI_POLLER */ +#endif /* TAO_HAS_AMI_CALLBACK == 1 || TAO_HAS_AMI_POLLER == 1 */ -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ // ********************************************************************* @@ -274,7 +274,7 @@ TAO_DII_Deferred_Reply_Dispatcher::dispatch_reply ( if (TAO_debug_level >= 4) { ACE_DEBUG ((LM_DEBUG, - "(%P | %t):TAO_Asynch_Reply_Dispatcher::dispatch_reply:\n")); + ASYS_TEXT ("(%P | %t):TAO_Asynch_Reply_Dispatcher::dispatch_reply:\n"))); } ACE_TRY_NEW_ENV diff --git a/TAO/tao/Request.cpp b/TAO/tao/Request.cpp index 61ca8ba1ddb..41d2e492d63 100644 --- a/TAO/tao/Request.cpp +++ b/TAO/tao/Request.cpp @@ -12,8 +12,10 @@ # include "tao/Request.i" #endif /* ! __ACE_INLINE__ */ + ACE_RCSID(tao, Request, "$Id$") + CORBA::ULong CORBA_Request::_incr_refcnt (void) { @@ -94,7 +96,7 @@ CORBA_Request::CORBA_Request (CORBA::Object_ptr obj, CORBA_Request::~CORBA_Request (void) { - assert (refcount_ == 0); + ACE_ASSERT (refcount_ == 0); CORBA::release (this->target_); CORBA::string_free ((char*) this->opname_); @@ -219,7 +221,7 @@ CORBA_Request::handle_response (TAO_InputCDR &incoming, default: // @@ (JP) Don't know what to do about any of these yet. ACE_ERROR ((LM_ERROR, - "(%P|%t) unhandled reply status\n")); + ASYS_TEXT ("(%P|%t) unhandled reply status\n"))); } } diff --git a/TAO/tao/Stub.cpp b/TAO/tao/Stub.cpp index 88181b3286a..57043e02811 100644 --- a/TAO/tao/Stub.cpp +++ b/TAO/tao/Stub.cpp @@ -1,5 +1,6 @@ // $Id$ + // @ (#)iiopobj.cpp 1.9 95/11/04 // Copyright 1995 by Sun Microsystems Inc. // All Rights Reserved @@ -34,6 +35,7 @@ ACE_RCSID(tao, TAO_Stub, "$Id$") + #if defined (ACE_ENABLE_TIMEPROBES) static const char *TAO_TAO_Stub_Timeprobe_Description[] = @@ -81,17 +83,17 @@ TAO_Stub::TAO_Stub (char *repository_id, orb_core_ (orb_core), orb_ (), servant_orb_ () -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) , policies_ (0) -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ { if (this->orb_core_ == 0) { if (TAO_debug_level > 0) { ACE_DEBUG ((LM_DEBUG, - "TAO: (%P|%t) TAO_Stub created with default " - "ORB core\n")); + ASYS_TEXT ("TAO: (%P|%t) TAO_Stub created with default ") + ASYS_TEXT ("ORB core\n"))); } this->orb_core_ = TAO_ORB_Core_instance (); } @@ -108,7 +110,7 @@ TAO_Stub::TAO_Stub (char *repository_id, TAO_Stub::~TAO_Stub (void) { - assert (this->refcount_ == 0); + ACE_ASSERT (this->refcount_ == 0); if (this->forward_profiles_) reset_profiles (); @@ -132,9 +134,9 @@ TAO_Stub::~TAO_Stub (void) delete this->profile_lock_ptr_; -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) delete this->policies_; -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ } void @@ -181,7 +183,7 @@ TAO_Stub::hash (CORBA::ULong max, // we rely on the profile object that its address info if (profile_in_use_) return profile_in_use_->hash (max, ACE_TRY_ENV); - ACE_ERROR_RETURN((LM_ERROR, "(%P|%t) hash called on a null profile!\n"), 0); + ACE_ERROR_RETURN((LM_ERROR, ASYS_TEXT ("(%P|%t) hash called on a null profile!\n")), 0); } // Expensive comparison of objref data, to see if two objrefs @@ -801,7 +803,7 @@ TAO_Stub::put_params (TAO_GIOP_Invocation &call, // **************************************************************** -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) CORBA::Policy_ptr TAO_Stub::get_policy ( @@ -866,10 +868,10 @@ TAO_Stub::get_client_policy (CORBA::PolicyType type, return result._retn (); } -TAO_RelativeRoundtripTimeoutPolicy_i * +TAO_RelativeRoundtripTimeoutPolicy * TAO_Stub::relative_roundtrip_timeout (void) { - TAO_RelativeRoundtripTimeoutPolicy_i *result = 0; + TAO_RelativeRoundtripTimeoutPolicy *result = 0; // No need to lock, the stub only changes its policies at // construction time... @@ -1132,13 +1134,13 @@ TAO_Stub::validate_connection (CORBA::PolicyList_out inconsistent_policies, return 1; } -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ TAO_Sync_Strategy & TAO_Stub::sync_strategy (void) { -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) POA_Messaging::SyncScopePolicy *policy = this->sync_scope (); @@ -1154,24 +1156,25 @@ TAO_Stub::sync_strategy (void) if (scope == Messaging::SYNC_NONE) return this->orb_core_->none_sync_strategy (); - - if (scope == Messaging::SYNC_FLUSH) - return this->orb_core_->flush_sync_strategy (); } -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ return this->orb_core_->transport_sync_strategy (); } #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +#if (TAO_HAS_CORBA_MESSAGING == 1) template class auto_ptr; template class ACE_Auto_Basic_Ptr; +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ #elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#if (TAO_HAS_CORBA_MESSAGING == 1) #pragma instantiate auto_ptr #pragma instantiate ACE_Auto_Basic_Ptr +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ #endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/TAO/tao/Sync_Strategies.cpp b/TAO/tao/Sync_Strategies.cpp index 5456dc10cef..34e889b7e51 100644 --- a/TAO/tao/Sync_Strategies.cpp +++ b/TAO/tao/Sync_Strategies.cpp @@ -1,6 +1,7 @@ // -*- C++ -*- // $Id$ + #include "tao/Sync_Strategies.h" #include "tao/Buffering_Constraint_Policy.h" @@ -26,7 +27,7 @@ TAO_Transport_Sync_Strategy::send (TAO_Transport &transport, max_wait_time); } -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) ssize_t TAO_None_Sync_Strategy::send (TAO_Transport &transport, @@ -86,7 +87,7 @@ TAO_None_Sync_Strategy::buffering_constraints_reached (TAO_Transport &transport, this->timer_check (transport, buffering_constraint); - if (buffering_constraint.mode == TAO::BUFFER_NONE) + if (buffering_constraint.mode == TAO::BUFFER_FLUSH) return 1; if (ACE_BIT_ENABLED (buffering_constraint.mode, @@ -106,9 +107,6 @@ void TAO_None_Sync_Strategy::timer_check (TAO_Transport &transport, const TAO::BufferingConstraint &buffering_constraint) { - // Get our reactor. - ACE_Reactor *reactor = transport.orb_core ()->reactor (); - if (transport.buffering_timer_id () != 0) { // @@ -116,6 +114,10 @@ TAO_None_Sync_Strategy::timer_check (TAO_Transport &transport, // still need the timeout or if the timeout value is correct or // not. // + + // Get our reactor. + ACE_Reactor *reactor = transport.orb_core ()->reactor (); + if (!ACE_BIT_ENABLED (buffering_constraint.mode, TAO::BUFFER_TIMEOUT)) { @@ -147,6 +149,9 @@ TAO_None_Sync_Strategy::timer_check (TAO_Transport &transport, ACE_Time_Value timeout = this->time_conversion (buffering_constraint.timeout); + // Get our reactor. + ACE_Reactor *reactor = transport.orb_core ()->reactor (); + long timer_id = reactor->schedule_timer (transport.event_handler (), 0, timeout, @@ -166,13 +171,4 @@ TAO_None_Sync_Strategy::time_conversion (const TimeBase::TimeT &time) ACE_U64_TO_U32 (microseconds)); } -int -TAO_Flush_Sync_Strategy::buffering_constraints_reached (TAO_Transport &, - TAO_Stub &, - TAO_Transport_Buffering_Queue &) -{ - // Always yes. - return 1; -} - -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ diff --git a/TAO/tao/TAOC.cpp b/TAO/tao/TAOC.cpp index 8df184a69ea..906027c5c04 100644 --- a/TAO/tao/TAOC.cpp +++ b/TAO/tao/TAOC.cpp @@ -15,7 +15,7 @@ #include "tao/TAOC.i" #endif /* !defined INLINE */ -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) static const CORBA::Long _oc_TAO_PrioritySelectionMode[] = { @@ -281,7 +281,7 @@ TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_BufferingConstraintMode, &_tc_TAO TAO_NAMESPACE_END TAO_NAMESPACE_TYPE (const CORBA::UShort) TAO_NAMESPACE_BEGIN (TAO) -TAO_NAMESPACE_DEFINE (const CORBA::UShort, BUFFER_NONE, 0U) +TAO_NAMESPACE_DEFINE (const CORBA::UShort, BUFFER_FLUSH, 0U) TAO_NAMESPACE_END TAO_NAMESPACE_TYPE (const CORBA::UShort) TAO_NAMESPACE_BEGIN (TAO) @@ -529,7 +529,7 @@ CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, TAO::BufferingConstraint # pragma instantiate TAO_Object_Manager #endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ -#endif /* TAO_HAS_CORBA_MESSAGING */ +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ TAO_NAMESPACE_TYPE (const CORBA::Short) TAO_NAMESPACE_BEGIN (TAO) @@ -547,7 +547,3 @@ TAO_NAMESPACE_TYPE (const CORBA::Short) TAO_NAMESPACE_BEGIN (TAO) TAO_NAMESPACE_DEFINE (const CORBA::Short, SYNC_WITH_TARGET, 3) TAO_NAMESPACE_END -TAO_NAMESPACE_TYPE (const CORBA::Short) -TAO_NAMESPACE_BEGIN (TAO) -TAO_NAMESPACE_DEFINE (const CORBA::Short, SYNC_FLUSH, 4) -TAO_NAMESPACE_END diff --git a/TAO/tao/TAOS.cpp b/TAO/tao/TAOS.cpp index 24166d46aec..e04923885cd 100644 --- a/TAO/tao/TAOS.cpp +++ b/TAO/tao/TAOS.cpp @@ -13,7 +13,7 @@ #include "tao/TAOS.i" #endif /* !defined INLINE */ -#if defined (TAO_HAS_CORBA_MESSAGING) +#if (TAO_HAS_CORBA_MESSAGING == 1) // skeleton constructor POA_TAO::ClientPriorityPolicy::ClientPriorityPolicy (void) @@ -219,4 +219,10 @@ TAO::BufferingConstraint POA_TAO::_tao_direct_collocated_BufferingConstraintPoli } -#endif /* TAO_HAS_CORBA_MESSAGING */ +TAO::BufferingConstraint POA_TAO::_tao_direct_collocated_BufferingConstraintPolicy::buffering_constraint (void) +{ + return this->servant_->buffering_constraint (); + +} + +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ diff --git a/TAO/tao/TAO_Internal.cpp b/TAO/tao/TAO_Internal.cpp index 12d5e90c231..f8c9fa6b402 100644 --- a/TAO/tao/TAO_Internal.cpp +++ b/TAO/tao/TAO_Internal.cpp @@ -1,5 +1,6 @@ // $Id$ + #include "tao/TAO_Internal.h" #include "ace/Service_Config.h" #include "ace/Service_Repository.h" @@ -10,8 +11,10 @@ #include "tao/IIOP_Factory.h" #include "tao/UIOP_Factory.h" + ACE_RCSID(tao, TAO_Internal, "$Id$") + int TAO_Internal::service_open_count_ = 0; #if defined (TAO_PLATFORM_SVC_CONF_FILE_NOTSUP) const char *TAO_Internal::resource_factory_args_ = TAO_DEFAULT_RESOURCE_FACTORY_ARGS; @@ -64,10 +67,10 @@ TAO_Internal::open_services (int &argc, // name of the shared library that implements the protocol. ACE_Service_Config::static_svcs ()-> insert (&ace_svc_desc_TAO_IIOP_Protocol_Factory); -#if defined (TAO_HAS_UIOP) +#if TAO_HAS_UIOP == 1 ACE_Service_Config::static_svcs ()-> insert (&ace_svc_desc_TAO_UIOP_Protocol_Factory); -#endif /* TAO_HAS_UIOP */ +#endif /* TAO_HAS_UIOP == 1 */ // add descriptor to list of static objects. int result = 0; diff --git a/TAO/tao/Typecode_Constants.cpp b/TAO/tao/Typecode_Constants.cpp index ed7a1f23586..35f12d687cc 100644 --- a/TAO/tao/Typecode_Constants.cpp +++ b/TAO/tao/Typecode_Constants.cpp @@ -1,5 +1,6 @@ // $Id$ + // ============================================================================ // // = LIBRARY @@ -41,12 +42,14 @@ #include "tao/NVList.h" #include "tao/BoundsC.h" -#if defined(TAO_HAS_AMI_POLLER) +#if (TAO_HAS_AMI_POLLER == 1) #include "tao/PollableC.h" -#endif /* TAO_HAS_AMI_POLLER */ +#endif /* TAO_HAS_AMI_POLLER == 1 */ + ACE_RCSID(tao, Typecode_Constants, "$Id$") + // Declare all the standard typecodes owned by the ORB // Null and void @@ -1615,7 +1618,7 @@ TAO_TypeCodes::init (void) // **************************************************************** -#if defined(TAO_HAS_AMI_POLLER) +#if (TAO_HAS_AMI_POLLER == 1) static const CORBA::Long _oc_CORBA_Pollable[] = { TAO_ENCAP_BYTE_ORDER, // byte order @@ -1693,7 +1696,7 @@ TAO_TypeCodes::init (void) 0, sizeof (CORBA_PollableSet)); -#endif /* TAO_HAS_AMI_POLLER */ +#endif /* TAO_HAS_AMI_POLLER == 1 */ // **************************************************************** @@ -1977,13 +1980,13 @@ TAO_TypeCodes::fini (void) CORBA::release (CORBA::_tc_DomainManagerList); -#if defined (TAO_HAS_AMI_POLLER) +#if (TAO_HAS_AMI_POLLER == 1) CORBA::release (CORBA::_tc_Pollable); CORBA::release (CORBA::_tc_DIIPollable); CORBA::release (CORBA::_tc_PollableSet); -#endif /* defined (TAO_HAS_AMI_POLLER) */ +#endif /* (TAO_HAS_AMI_POLLER == 1) */ // Service types //= Service type diff --git a/TAO/tao/UIOP_Acceptor.cpp b/TAO/tao/UIOP_Acceptor.cpp index c5ceb7b0a3c..f332fe9aea6 100644 --- a/TAO/tao/UIOP_Acceptor.cpp +++ b/TAO/tao/UIOP_Acceptor.cpp @@ -1,5 +1,7 @@ +// This may look like C, but it's really -*- C++ -*- // $Id$ + // ============================================================================ // // = LIBRARY @@ -18,7 +20,7 @@ #include "tao/UIOP_Acceptor.h" -#if defined (TAO_HAS_UIOP) +#if TAO_HAS_UIOP == 1 #include "tao/UIOP_Profile.h" #include "tao/MProfile.h" @@ -28,6 +30,7 @@ ACE_RCSID(tao, UIOP_Acceptor, "$Id$") + #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) template class ACE_Acceptor; @@ -385,4 +388,4 @@ TAO_UIOP_Acceptor::parse_options (const char *str) } return 0; } -#endif /* TAO_HAS_UIOP */ +#endif /* TAO_HAS_UIOP == 1 */ diff --git a/TAO/tao/UIOP_Connect.cpp b/TAO/tao/UIOP_Connect.cpp index 2da73ae0504..bd84eba2db0 100644 --- a/TAO/tao/UIOP_Connect.cpp +++ b/TAO/tao/UIOP_Connect.cpp @@ -1,8 +1,9 @@ // $Id$ + #include "tao/UIOP_Connect.h" -#if defined (TAO_HAS_UIOP) +#if TAO_HAS_UIOP == 1 #include "tao/UIOP_Transport.h" #include "tao/debug.h" @@ -11,13 +12,15 @@ #include "tao/CDR.h" #include "tao/Timeprobe.h" +#include "tao/Messaging_Policy_i.h" + #if !defined (__ACE_INLINE__) # include "tao/UIOP_Connect.i" #endif /* ! __ACE_INLINE__ */ - ACE_RCSID(tao, UIOP_Connect, "$Id$") + #if defined (ACE_ENABLE_TIMEPROBES) static const char *TAO_UIOP_Connect_Timeprobe_Description[] = @@ -415,8 +418,26 @@ TAO_UIOP_Client_Connection_Handler::handle_timeout (const ACE_Time_Value &, // This method is called when buffering timer expires. // + ACE_Time_Value *max_wait_time = 0; + +#if (TAO_HAS_CORBA_MESSAGING == 1) + TAO_RelativeRoundtripTimeoutPolicy *timeout_policy = + this->orb_core_->stubless_relative_roundtrip_timeout (); + + ACE_Time_Value max_wait_time_value; + + // If max_wait_time is not zero then this is not the first attempt + // to send the request, the timeout value includes *all* those + // attempts. + if (timeout_policy != 0) + { + timeout_policy->set_time_value (max_wait_time_value); + max_wait_time = &max_wait_time_value; + } +#endif /* TAO_HAS_CORBA_MESSAGING == 1 */ + // Cannot deal with errors, and therefore they are ignored. - this->transport ()->send_buffered_messages (); + this->transport ()->send_buffered_messages (max_wait_time); return 0; } @@ -497,4 +518,4 @@ TAO_UIOP_Client_Connection_Handler::handle_cleanup (void) #endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ -#endif /* TAO_HAS_UIOP */ +#endif /* TAO_HAS_UIOP == 1 */ diff --git a/TAO/tao/UIOP_Connector.cpp b/TAO/tao/UIOP_Connector.cpp index 0ef939813a6..575446b2ca8 100644 --- a/TAO/tao/UIOP_Connector.cpp +++ b/TAO/tao/UIOP_Connector.cpp @@ -1,8 +1,9 @@ +// This may look like C, but it's really -*- C++ -*- // $Id$ #include "tao/UIOP_Connector.h" -#if defined (TAO_HAS_UIOP) +#if TAO_HAS_UIOP == 1 #include "tao/UIOP_Profile.h" #include "tao/debug.h" @@ -10,8 +11,10 @@ #include "tao/Environment.h" #include "ace/Auto_Ptr.h" + ACE_RCSID(tao, UIOP_Connector, "$Id$") + #if defined (TAO_USES_ROBUST_CONNECTION_MGMT) int TAO_UIOP_Connector::purge_connections (void) @@ -223,8 +226,8 @@ template class ACE_Refcounted_Recyclable_Handler_Caching_Utility #if !defined (TAO_USES_ROBUST_CONNECTION_MGMT) -#pragma instantiate CACHED_CONNECT_STRATEGY; -#pragma instantiate TAO_ADDR; +#pragma instantiate CACHED_CONNECT_STRATEGY +#pragma instantiate TAO_ADDR #endif /* TAO_USES_ROBUST_CONNECTION_MGMT */ #pragma instantiate ACE_Svc_Handler @@ -685,7 +688,7 @@ TAO_UIOP_Connector::check_prefix (const char *endpoint) char TAO_UIOP_Connector::object_key_delimiter (void) const { - return TAO_UIOP_Profile::object_key_delimiter; + return TAO_UIOP_Profile::object_key_delimiter_; } -#endif /* TAO_HAS_UIOP */ +#endif /* TAO_HAS_UIOP == 1 */ diff --git a/TAO/tao/UIOP_Profile.cpp b/TAO/tao/UIOP_Profile.cpp index fe4c8a2296b..c3e0c7e3431 100644 --- a/TAO/tao/UIOP_Profile.cpp +++ b/TAO/tao/UIOP_Profile.cpp @@ -1,9 +1,10 @@ // This may look like C, but it's really -*- C++ -*- // $Id$ + #include "tao/UIOP_Profile.h" -#if defined (TAO_HAS_UIOP) +#if TAO_HAS_UIOP == 1 #include "tao/CDR.h" #include "tao/Environment.h" @@ -14,13 +15,20 @@ ACE_RCSID(tao, UIOP_Profile, "$Id$") + #if !defined (__ACE_INLINE__) # include "tao/UIOP_Profile.i" #endif /* __ACE_INLINE__ */ static const char prefix_[] = "uiop"; -const char TAO_UIOP_Profile::object_key_delimiter = '|'; +const char TAO_UIOP_Profile::object_key_delimiter_ = '|'; + +char +TAO_UIOP_Profile::object_key_delimiter (void) const +{ + return TAO_UIOP_Profile::object_key_delimiter_; +} TAO_UIOP_Profile::TAO_UIOP_Profile (const ACE_UNIX_Addr &addr, const TAO_ObjectKey &object_key, @@ -129,7 +137,7 @@ TAO_UIOP_Profile::parse_string (const char *string, CORBA::String_var copy (string); char *start = copy.inout (); - char *cp = ACE_OS::strchr (start, this->object_key_delimiter); + char *cp = ACE_OS::strchr (start, this->object_key_delimiter_); if (cp == 0) { @@ -267,7 +275,7 @@ TAO_UIOP_Profile::to_string (CORBA::Environment &) digits [this->version_.major], digits [this->version_.minor], this->rendezvous_point (), - this->object_key_delimiter, + this->object_key_delimiter_, key.in ()); return buf; } @@ -386,4 +394,4 @@ TAO_UIOP_Profile::encode (TAO_OutputCDR &stream) const return 1; } -#endif /* TAO_HAS_UIOP */ +#endif /* TAO_HAS_UIOP == 1 */ diff --git a/TAO/tao/UIOP_Transport.cpp b/TAO/tao/UIOP_Transport.cpp index 54da9886420..cb6629796e6 100644 --- a/TAO/tao/UIOP_Transport.cpp +++ b/TAO/tao/UIOP_Transport.cpp @@ -1,8 +1,10 @@ +// This may look like C, but it's really -*- C++ -*- // $Id$ + #include "tao/UIOP_Transport.h" -#if defined (TAO_HAS_UIOP) +#if TAO_HAS_UIOP == 1 #include "tao/UIOP_Connect.h" #include "tao/UIOP_Profile.h" @@ -59,12 +61,18 @@ TAO_UIOP_Transport::TAO_UIOP_Transport (TAO_UIOP_Handler_Base *handler, TAO_UIOP_Transport::~TAO_UIOP_Transport (void) { - // Cannot deal with errors, and therefore they are ignored. - this->send_buffered_messages (); + // If the socket has not already been closed. + if (this->handle () != ACE_INVALID_HANDLE) + { + // Cannot deal with errors, and therefore they are ignored. + this->send_buffered_messages (); + } + else + { + // Dequeue messages and delete message blocks. + this->dequeue_all (); + } - // Note that it also doesn't matter how much of the data was - // actually sent. - this->dequeue_all (); } TAO_UIOP_Handler_Base *& @@ -183,7 +191,7 @@ TAO_UIOP_Client_Transport::start_locate (TAO_ORB_Core * /*orb_core*/, TAO_Pluggable_Connector_Params params; params.request_id = request_id; if (this->client_mesg_factory_->write_message_header (params, - TAO_LOCATE_REQUEST_HEADER, + TAO_PLUGGABLE_MESSAGE_LOCATE_REQUEST_HEADER, spec, output) == 0) ACE_THROW (CORBA::MARSHAL ()); @@ -204,7 +212,8 @@ TAO_UIOP_Client_Transport::send_request (TAO_Stub *stub, if (this->client_mesg_factory_->send_message (this, stream, max_wait_time, - stub) == -1) + stub, + two_way) == -1) return -1; return this->idle_after_send (); @@ -337,7 +346,7 @@ TAO_UIOP_Client_Transport::send_request_header (const IOP::ServiceContextList & // layer. It should take care of this request CORBA::Boolean retval = this->client_mesg_factory_->write_message_header (params, - TAO_REQUEST_HEADER, + TAO_PLUGGABLE_MESSAGE_REQUEST_HEADER, spec, msg); return retval; @@ -347,10 +356,11 @@ TAO_UIOP_Client_Transport::send_request_header (const IOP::ServiceContextList & ssize_t TAO_UIOP_Transport::send (TAO_Stub *stub, + int two_way, const ACE_Message_Block *message_block, const ACE_Time_Value *max_wait_time) { - if (stub == 0) + if (stub == 0 || two_way) { return this->send (message_block, max_wait_time); @@ -425,3 +435,4 @@ TAO_UIOP_Transport::send_request_header (const IOP::ServiceContextList & /*svc_c } #endif /* TAO_HAS_UIOP */ + diff --git a/TAO/tao/append.cpp b/TAO/tao/append.cpp index 00a30db321c..d5e700b05ad 100644 --- a/TAO/tao/append.cpp +++ b/TAO/tao/append.cpp @@ -1,5 +1,6 @@ // $Id$ + // ============================================================================ // // = LIBRARY @@ -27,6 +28,7 @@ ACE_RCSID(tao, append, "$Id$") + // Encode instances of arbitrary data types based only on typecode. // "data" points to the data type; if it's not a primitve data type, // the TypeCode interpreter is used to recursively encode its @@ -87,7 +89,7 @@ TAO_Marshal_Primitive::append (CORBA::TypeCode_ptr tc, if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_Primitive::append detected error\n")); + ASYS_TEXT ("TAO_Marshal_Primitive::append detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), @@ -129,7 +131,7 @@ TAO_Marshal_Any::append (CORBA::TypeCode_ptr, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_Any::append detected error\n")); + ASYS_TEXT ("TAO_Marshal_Any::append detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), @@ -211,8 +213,8 @@ TAO_Marshal_TypeCode::append (CORBA::TypeCode_ptr, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_TypeCode: " - "Bad kind_ value in CDR stream\n")); + ASYS_TEXT ("TAO_Marshal_TypeCode: ") + ASYS_TEXT ("Bad kind_ value in CDR stream\n"))); ACE_THROW_RETURN (CORBA::BAD_TYPECODE (), CORBA::TypeCode::TRAVERSE_STOP); @@ -225,7 +227,7 @@ TAO_Marshal_TypeCode::append (CORBA::TypeCode_ptr, if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_TypeCode::append detected error\n")); + ASYS_TEXT ("TAO_Marshal_TypeCode::append detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), @@ -306,7 +308,7 @@ TAO_Marshal_ObjRef::append (CORBA::TypeCode_ptr, return CORBA::TypeCode::TRAVERSE_CONTINUE; if (TAO_debug_level > 0) - ACE_DEBUG ((LM_DEBUG, "TAO_Marshal_ObjRef::append detected error\n")); + ACE_DEBUG ((LM_DEBUG, ASYS_TEXT ("TAO_Marshal_ObjRef::append detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), @@ -348,7 +350,7 @@ TAO_Marshal_Struct::append (CORBA::TypeCode_ptr tc, if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_Struct::encode detected error\n")); + ASYS_TEXT ("TAO_Marshal_Struct::encode detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), @@ -538,7 +540,7 @@ TAO_Marshal_String::append (CORBA::TypeCode_ptr, if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_TypeCode::append detected error")); + ASYS_TEXT ("TAO_Marshal_TypeCode::append detected error"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), @@ -589,7 +591,7 @@ TAO_Marshal_Sequence::append (CORBA::TypeCode_ptr tc, // error exit if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "marshaling TAO_Marshal_Sequence::append detected error\n")); + ASYS_TEXT ("marshaling TAO_Marshal_Sequence::append detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (), CORBA::TypeCode::TRAVERSE_STOP); @@ -634,7 +636,7 @@ TAO_Marshal_Array::append (CORBA::TypeCode_ptr tc, // error exit if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_Sequence::append detected error")); + ASYS_TEXT ("TAO_Marshal_Sequence::append detected error"))); ACE_THROW_RETURN (CORBA::MARSHAL (), CORBA::TypeCode::TRAVERSE_STOP); @@ -668,7 +670,7 @@ TAO_Marshal_Alias::append (CORBA::TypeCode_ptr tc, if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_Alias::append detected error\n")); + ASYS_TEXT ("TAO_Marshal_Alias::append detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), CORBA::TypeCode::TRAVERSE_STOP); @@ -715,7 +717,7 @@ TAO_Marshal_Except::append (CORBA::TypeCode_ptr tc, if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_Except::append detected error\n")); + ASYS_TEXT ("TAO_Marshal_Except::append detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), CORBA::TypeCode::TRAVERSE_STOP); @@ -745,7 +747,7 @@ TAO_Marshal_WString::append (CORBA::TypeCode_ptr, if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_WString::append detected error\n")); + ASYS_TEXT ("TAO_Marshal_WString::append detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), CORBA::TypeCode::TRAVERSE_STOP); diff --git a/TAO/tao/decode.cpp b/TAO/tao/decode.cpp index 06793f40c6b..652ecc2c3e2 100644 --- a/TAO/tao/decode.cpp +++ b/TAO/tao/decode.cpp @@ -1,5 +1,6 @@ // $Id$ + // ============================================================================ // // = LIBRARY @@ -39,6 +40,7 @@ ACE_RCSID(tao, decode, "$Id$") + // The decoder is exactly the reverse of the encoder, except that: // // * Unmarshaling some data types involve allocating memory. Such @@ -116,7 +118,7 @@ TAO_Marshal_Primitive::decode (CORBA::TypeCode_ptr tc, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_Primitive::decode detected error\n")); + ASYS_TEXT ("TAO_Marshal_Primitive::decode detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), CORBA::TypeCode::TRAVERSE_STOP); } @@ -221,7 +223,7 @@ TAO_Marshal_Any::decode (CORBA::TypeCode_ptr, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_Any::decode detected error\n")); + ASYS_TEXT ("TAO_Marshal_Any::decode detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), retval); } @@ -499,8 +501,8 @@ TAO_Marshal_TypeCode::decode (CORBA::TypeCode_ptr, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_TypeCode:decode: " - "Bad kind_ value in CDR stream\n")); + ASYS_TEXT ("TAO_Marshal_TypeCode:decode: ") + ASYS_TEXT ("Bad kind_ value in CDR stream\n"))); ACE_THROW_RETURN ( CORBA::BAD_TYPECODE (), CORBA::TypeCode::TRAVERSE_STOP); } } @@ -509,7 +511,7 @@ TAO_Marshal_TypeCode::decode (CORBA::TypeCode_ptr, { if (TAO_debug_level) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_TypeCode::decode detected error\n")); + ASYS_TEXT ("TAO_Marshal_TypeCode::decode detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), CORBA::TypeCode::TRAVERSE_STOP); } @@ -693,7 +695,7 @@ TAO_Marshal_Struct::decode (CORBA::TypeCode_ptr tc, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_Struct::decode detected error\n")); + ASYS_TEXT ("TAO_Marshal_Struct::decode detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), CORBA::TypeCode::TRAVERSE_STOP); @@ -932,7 +934,7 @@ TAO_Marshal_String::decode (CORBA::TypeCode_ptr, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_String::decode detected error\n")); + ASYS_TEXT ("TAO_Marshal_String::decode detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), CORBA::TypeCode::TRAVERSE_STOP); } @@ -1299,7 +1301,7 @@ TAO_Marshal_Array::decode (CORBA::TypeCode_ptr tc, // error exit if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_Sequence::decode detected error\n")); + ASYS_TEXT ("TAO_Marshal_Sequence::decode detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (), CORBA::TypeCode::TRAVERSE_STOP); } @@ -1396,7 +1398,7 @@ TAO_Marshal_Alias::decode (CORBA::TypeCode_ptr tc, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_Except::decode detected error\n")); + ASYS_TEXT ("TAO_Marshal_Except::decode detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), CORBA::TypeCode::TRAVERSE_STOP); } @@ -1519,7 +1521,7 @@ TAO_Marshal_Except::decode (CORBA::TypeCode_ptr tc, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_Except::decode detected error\n")); + ASYS_TEXT ("TAO_Marshal_Except::decode detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), CORBA::TypeCode::TRAVERSE_STOP); } @@ -1565,7 +1567,7 @@ TAO_Marshal_WString::decode (CORBA::TypeCode_ptr, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_WString::decode detected error\n")); + ASYS_TEXT ("TAO_Marshal_WString::decode detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), CORBA::TypeCode::TRAVERSE_STOP); } diff --git a/TAO/tao/default_resource.cpp b/TAO/tao/default_resource.cpp index 011cc356f13..8ff36e44455 100644 --- a/TAO/tao/default_resource.cpp +++ b/TAO/tao/default_resource.cpp @@ -1,5 +1,6 @@ // $Id$ + #include "tao/default_resource.h" #include "tao/Client_Strategy_Factory.h" #include "tao/Server_Strategy_Factory.h" @@ -27,8 +28,10 @@ # include "tao/default_resource.i" #endif /* ! __ACE_INLINE__ */ + ACE_RCSID(tao, default_resource, "$Id$") + TAO_Default_Resource_Factory::TAO_Default_Resource_Factory (void) : use_tss_resources_ (0), use_locked_data_blocks_ (1), @@ -84,8 +87,8 @@ TAO_Default_Resource_Factory::init (int argc, char **argv) "-ORBReactorLock") == 0) { ACE_DEBUG ((LM_DEBUG, - "TAO_Default_Resource obsolete -ORBReactorLock " - "option, please use -ORBReactorType\n")); + ASYS_TEXT ("TAO_Default_Resource obsolete -ORBReactorLock ") + ASYS_TEXT ("option, please use -ORBReactorType\n"))); curarg++; if (curarg < argc) { @@ -129,8 +132,8 @@ TAO_Default_Resource_Factory::init (int argc, char **argv) this->reactor_registry_type_ = TAO_REACTOR_PER_PRIORITY; else ACE_DEBUG ((LM_DEBUG, - "TAO_Default_Factory - unknown argument" - " <%s> for -ORBReactorRegistry\n", name)); + ASYS_TEXT ("TAO_Default_Factory - unknown argument") + ASYS_TEXT (" <%s> for -ORBReactorRegistry\n"), name)); } } @@ -154,16 +157,16 @@ TAO_Default_Resource_Factory::init (int argc, char **argv) reactor_type_ = TAO_REACTOR_FL; #else ACE_DEBUG ((LM_DEBUG, - "TAO_Default_Factory - FlReactor" - " not supported on this platform\n")); + ASYS_TEXT ("TAO_Default_Factory - FlReactor") + ASYS_TEXT (" not supported on this platform\n"))); #endif /* ACE_HAS_FL */ else if (ACE_OS::strcasecmp (name, "tk_reactor") == 0) #if defined(ACE_HAS_TK) reactor_type_ = TAO_REACTOR_TK; #else ACE_DEBUG ((LM_DEBUG, - "TAO_Default_Factory - TkReactor" - " not supported on this platform\n")); + ASYS_TEXT ("TAO_Default_Factory - TkReactor") + ASYS_TEXT (" not supported on this platform\n"))); #endif /* ACE_HAS_TK */ else if (ACE_OS::strcasecmp (name, "wfmo") == 0) @@ -189,8 +192,8 @@ TAO_Default_Resource_Factory::init (int argc, char **argv) reactor_type_ = TAO_REACTOR_TP; else ACE_DEBUG ((LM_DEBUG, - "TAO_Default_Factory - unknown argument" - " <%s> for -ORBreactortype\n", name)); + ASYS_TEXT ("TAO_Default_Factory - unknown argument") + ASYS_TEXT (" <%s> for -ORBreactortype\n"), name)); } } @@ -230,7 +233,7 @@ TAO_Default_Resource_Factory::init (int argc, char **argv) -1); if (pset->insert (item) == -1) ACE_ERROR ((LM_ERROR, - "(%P|%t) Unable to add protocol factories for %s: %p\n", + ASYS_TEXT ("(%P|%t) Unable to add protocol factories for %s: %p\n"), argv[curarg])); } } @@ -257,8 +260,8 @@ TAO_Default_Resource_Factory::init (int argc, char **argv) this->connection_caching_type_ = TAO_Resource_Factory::NOOP; else ACE_DEBUG ((LM_DEBUG, - "TAO_Default_Factory - unknown argument" - " <%s> for -ORBConnectionCachingStrategy\n", name)); + ASYS_TEXT ("TAO_Default_Factory - unknown argument") + ASYS_TEXT (" <%s> for -ORBConnectionCachingStrategy\n"), name)); } } @@ -270,8 +273,8 @@ TAO_Default_Resource_Factory::init (int argc, char **argv) this->purge_percentage_ = ACE_OS::atoi (argv[curarg]); else ACE_DEBUG ((LM_DEBUG, - "TAO_Default_Factory - unknown argument" - "for -ORBPurgePercentage\n")); + ASYS_TEXT ("TAO_Default_Factory - unknown argument") + ASYS_TEXT ("for -ORBPurgePercentage\n"))); } else if (ACE_OS::strcasecmp (argv[curarg], @@ -293,8 +296,8 @@ TAO_Default_Resource_Factory::init (int argc, char **argv) this->sched_policy_ = ACE_SCHED_RR; else ACE_DEBUG ((LM_DEBUG, - "TAO_Default_Factory - unknown argument" - " <%s> for -ORBSchedPolicy\n", name)); + ASYS_TEXT ("TAO_Default_Factory - unknown argument") + ASYS_TEXT (" <%s> for -ORBSchedPolicy\n"), name)); } } @@ -314,8 +317,8 @@ TAO_Default_Resource_Factory::init (int argc, char **argv) this->priority_mapping_type_ = TAO_PRIORITY_MAPPING_DIRECT; else ACE_DEBUG ((LM_DEBUG, - "TAO_Default_Factory - unknown argument" - " <%s> for -ORBPriorityMapping\n", name)); + ASYS_TEXT ("TAO_Default_Factory - unknown argument") + ASYS_TEXT (" <%s> for -ORBPriorityMapping\n"), name)); } } @@ -351,9 +354,9 @@ TAO_Default_Resource_Factory::init_protocol_factories (void) { if (TAO_orbdebug) ACE_ERROR ((LM_WARNING, - "TAO (%P|%t) No %s found in Service Repository. " - "Using default instance IIOP Protocol Factory.\n", - "IIOP Protocol Factory")); + ASYS_TEXT ("TAO (%P|%t) No %s found in Service Repository. ") + ASYS_TEXT ("Using default instance IIOP Protocol Factory.\n"), + ASYS_TEXT ("IIOP Protocol Factory"))); ACE_NEW_RETURN (protocol_factory, TAO_IIOP_Protocol_Factory, @@ -371,8 +374,8 @@ TAO_Default_Resource_Factory::init_protocol_factories (void) delete protocol_factory; ACE_ERROR_RETURN ((LM_ERROR, - "TAO (%P|%t) Unable to add " - "<%s> to protocol factory set.\n", + ASYS_TEXT ("TAO (%P|%t) Unable to add ") + ASYS_TEXT ("<%s> to protocol factory set.\n"), item->protocol_name ().c_str ()), -1); } @@ -380,10 +383,10 @@ TAO_Default_Resource_Factory::init_protocol_factories (void) if (TAO_debug_level > 0) { ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) Loaded default protocol \n")); + ASYS_TEXT ("TAO (%P|%t) Loaded default protocol \n"))); } -#if defined (TAO_HAS_UIOP) +#if TAO_HAS_UIOP == 1 protocol_factory = ACE_Dynamic_Service::instance ("UIOP_Factory"); @@ -420,7 +423,7 @@ TAO_Default_Resource_Factory::init_protocol_factories (void) ACE_DEBUG ((LM_DEBUG, "TAO (%P|%t) Loaded default protocol \n")); } -#endif /* TAO_HAS_UIOP */ +#endif /* TAO_HAS_UIOP == 1 */ return 0; } @@ -432,7 +435,7 @@ TAO_Default_Resource_Factory::init_protocol_factories (void) if ((*factory)->factory () == 0) { ACE_ERROR_RETURN ((LM_ERROR, - "TAO (%P|%t) Unable to load protocol <%s>, %p\n", + ASYS_TEXT ("TAO (%P|%t) Unable to load protocol <%s>, %p\n"), name.c_str (), ""), -1); } @@ -440,7 +443,7 @@ TAO_Default_Resource_Factory::init_protocol_factories (void) if (TAO_debug_level > 0) { ACE_DEBUG ((LM_DEBUG, - "TAO (%P|%t) Loaded protocol <%s>\n", + ASYS_TEXT ("TAO (%P|%t) Loaded protocol <%s>\n"), name.c_str ())); } } @@ -558,7 +561,7 @@ TAO_Default_Resource_Factory::allocate_reactor_impl (void) const break; case TAO_REACTOR_MSGWFMO: -#if defined(ACE_WIN32) +#if defined(ACE_WIN32) && !defined (ACE_HAS_WINCE) ACE_NEW_RETURN (impl, ACE_Msg_WFMO_Reactor, 0); #endif /* ACE_WIN32 && !ACE_HAS_WINCE */ break; @@ -674,7 +677,7 @@ TAO_Default_Resource_Factory::purge_percentage (void) const TAO_Priority_Mapping * TAO_Default_Resource_Factory::get_priority_mapping (void) { -#if !defined (TAO_HAS_RT_CORBA) +#if (TAO_HAS_RT_CORBA == 0) return 0; #else TAO_Priority_Mapping *pm; @@ -697,7 +700,7 @@ TAO_Default_Resource_Factory::get_priority_mapping (void) break; } return pm; -#endif /* TAO_HAS_RT_CORBA */ +#endif /* TAO_HAS_RT_CORBA == 0 */ } // **************************************************************** @@ -714,9 +717,10 @@ ACE_FACTORY_DEFINE (TAO, TAO_Default_Resource_Factory) #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class ACE_Malloc; -template class ACE_Malloc_T; -template class ACE_Allocator_Adapter >; +template class ACE_Malloc; +template class ACE_Malloc_T; +template class ACE_Allocator_Adapter >; + template class ACE_Select_Reactor_Token_T; template class ACE_Lock_Adapter >; @@ -724,8 +728,9 @@ template class ACE_Select_Reactor_T< ACE_Select_Reactor_Token_T #elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#pragma instantiate ACE_Malloc -#pragma instantiate ACE_Malloc_T +#pragma instantiate ACE_Malloc +#pragma instantiate ACE_Malloc_T + #pragma instantiate ACE_Allocator_Adapter > #pragma instantiate ACE_Select_Reactor_Token_T diff --git a/TAO/tao/params.cpp b/TAO/tao/params.cpp index 26cf6d0d3fa..6584ac7b317 100644 --- a/TAO/tao/params.cpp +++ b/TAO/tao/params.cpp @@ -10,9 +10,7 @@ ACE_RCSID(tao, params, "$Id$") TAO_ORB_Parameters::TAO_ORB_Parameters (void) : preconnects_list_ (), - preconnect_insertion_strategy_ (this->preconnects_list_), endpoints_list_ (), - endpoint_insertion_strategy_ (this->endpoints_list_), init_ref_ (), ior_lookup_table_ (), default_init_ref_ (), @@ -48,8 +46,7 @@ TAO_ORB_Parameters::add_to_ior_table (ACE_CString init_ref) int TAO_ORB_Parameters::parse_endpoints (ACE_CString &endpoints, - TAO_Base_Endpoint_Insertion_Strategy & - endpoints_list) + TAO_EndpointSet &endpoints_list) { // Parse the string into seperate endpoints, where `endpoints' is of // the form: @@ -59,7 +56,7 @@ TAO_ORB_Parameters::parse_endpoints (ACE_CString &endpoints, // A single endpoint, instead of several, can be added just as well. int status = 0; - // Return code: 0 = success, 1 = failure + // Return code: 0 = success, -1 = failure const char endpoints_delimiter = ';'; @@ -110,7 +107,7 @@ TAO_ORB_Parameters::parse_endpoints (ACE_CString &endpoints, if (check_offset > 0 && check_offset != endpt.npos) { - endpoints_list.insert (endpt); + endpoints_list.enqueue_tail (endpt); // Insert endpoint into list } else @@ -129,28 +126,3 @@ TAO_ORB_Parameters::parse_endpoints (ACE_CString &endpoints, return status; } -// Don't bother inlining since the most used methods are virtual. - -TAO_Preconnect_Insertion_Strategy:: - TAO_Preconnect_Insertion_Strategy (TAO_PreconnectSet &preconnects) - : preconnects_ (preconnects) -{ -} - -int -TAO_Preconnect_Insertion_Strategy::insert (const ACE_CString &preconnect) -{ - return this->preconnects_.enqueue_tail (preconnect); -} - -TAO_Endpoint_Insertion_Strategy:: - TAO_Endpoint_Insertion_Strategy (TAO_EndpointSet &endpoints) - : endpoints_ (endpoints) -{ -} - -int -TAO_Endpoint_Insertion_Strategy::insert (const ACE_CString &endpoint) -{ - return this->endpoints_.insert (endpoint); -} diff --git a/TAO/tao/skip.cpp b/TAO/tao/skip.cpp index 086b0e41051..768857ef35c 100644 --- a/TAO/tao/skip.cpp +++ b/TAO/tao/skip.cpp @@ -1,5 +1,6 @@ // $Id$ + // ============================================================================ // // = LIBRARY @@ -25,8 +26,10 @@ #include "tao/Environment.h" #include "tao/debug.h" + ACE_RCSID(tao, skip, "$Id$") + CORBA::TypeCode::traverse_status TAO_Marshal_Primitive::skip (CORBA::TypeCode_ptr tc, void *context, @@ -83,7 +86,7 @@ TAO_Marshal_Primitive::skip (CORBA::TypeCode_ptr tc, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_Primitive::skip detected error\n")); + ASYS_TEXT ("TAO_Marshal_Primitive::skip detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), CORBA::TypeCode::TRAVERSE_STOP); @@ -196,8 +199,8 @@ TAO_Marshal_TypeCode::skip (CORBA::TypeCode_ptr, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_TypeCode::skip: " - "Bad kind_ value in CDR stream")); + ASYS_TEXT ("TAO_Marshal_TypeCode::skip: ") + ASYS_TEXT ("Bad kind_ value in CDR stream"))); ACE_THROW_RETURN (CORBA::BAD_TYPECODE (), CORBA::TypeCode::TRAVERSE_STOP); } @@ -209,7 +212,7 @@ TAO_Marshal_TypeCode::skip (CORBA::TypeCode_ptr, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_TypeCode::skip detected error\n")); + ASYS_TEXT ("TAO_Marshal_TypeCode::skip detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), CORBA::TypeCode::TRAVERSE_STOP); @@ -243,7 +246,7 @@ TAO_Marshal_Principal::skip (CORBA::TypeCode_ptr, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_Principal::skip detected error\n")); + ASYS_TEXT ("TAO_Marshal_Principal::skip detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), CORBA::TypeCode::TRAVERSE_STOP); @@ -305,7 +308,7 @@ TAO_Marshal_ObjRef::skip (CORBA::TypeCode_ptr, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_ObjRef::skip detected error\n")); + ASYS_TEXT ("TAO_Marshal_ObjRef::skip detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), CORBA::TypeCode::TRAVERSE_STOP); @@ -343,7 +346,7 @@ TAO_Marshal_Struct::skip (CORBA::TypeCode_ptr tc, if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_Struct::skip detected error\n")); + ASYS_TEXT ("TAO_Marshal_Struct::skip detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), CORBA::TypeCode::TRAVERSE_STOP); @@ -521,7 +524,7 @@ TAO_Marshal_String::skip (CORBA::TypeCode_ptr, { if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_TypeCode::skip detected error")); + ASYS_TEXT ("TAO_Marshal_TypeCode::skip detected error"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), CORBA::TypeCode::TRAVERSE_STOP); @@ -572,7 +575,7 @@ TAO_Marshal_Sequence::skip (CORBA::TypeCode_ptr tc, // error exit if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_Sequence::skip detected error\n")); + ASYS_TEXT ("TAO_Marshal_Sequence::skip detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (), CORBA::TypeCode::TRAVERSE_STOP); } @@ -610,7 +613,7 @@ TAO_Marshal_Array::skip (CORBA::TypeCode_ptr tc, // error exit if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_Sequence::skip detected error\n")); + ASYS_TEXT ("TAO_Marshal_Sequence::skip detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (), CORBA::TypeCode::TRAVERSE_STOP); } @@ -645,7 +648,7 @@ TAO_Marshal_Alias::skip (CORBA::TypeCode_ptr tc, if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_Alias::skip detected error\n")); + ASYS_TEXT ("TAO_Marshal_Alias::skip detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), CORBA::TypeCode::TRAVERSE_STOP); @@ -692,7 +695,7 @@ TAO_Marshal_Except::skip (CORBA::TypeCode_ptr tc, if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_Except::skip detected error\n")); + ASYS_TEXT ("TAO_Marshal_Except::skip detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), CORBA::TypeCode::TRAVERSE_STOP); @@ -729,7 +732,7 @@ TAO_Marshal_WString::skip (CORBA::TypeCode_ptr, if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, - "TAO_Marshal_WString::skip detected error\n")); + ASYS_TEXT ("TAO_Marshal_WString::skip detected error\n"))); ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_MAYBE), CORBA::TypeCode::TRAVERSE_STOP); -- cgit v1.2.1