diff options
author | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-04-09 21:25:44 +0000 |
---|---|---|
committer | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-04-09 21:25:44 +0000 |
commit | 7d4e20a6b28e89622042e38311793b64c5b129bf (patch) | |
tree | 5adcde2d5a8dd8a9f7cc0a0317afc5404a864915 | |
parent | ff149a6d654c59572bc23d991ee4fea3f34ce28e (diff) | |
download | ATCD-7d4e20a6b28e89622042e38311793b64c5b129bf.tar.gz |
*** empty log message ***
-rw-r--r-- | TAO/ChangeLog-99c | 21 | ||||
-rw-r--r-- | TAO/tao/POA.cpp | 15 |
2 files changed, 20 insertions, 16 deletions
diff --git a/TAO/ChangeLog-99c b/TAO/ChangeLog-99c index 8f9f1f3401d..825b932f755 100644 --- a/TAO/ChangeLog-99c +++ b/TAO/ChangeLog-99c @@ -1,12 +1,19 @@ +Fri Apr 09 16:19:12 1999 Irfan Pyarali <irfan@cs.wustl.edu> + + * tao/POA.cpp (create_object_key and parse_key): We must include + the persistent bit even when the POA_NO_TIMESTAMP is defined. + Otherwise, we won't know which POA map to search. Thanks to Russ + Noseworthy for reporting this. + Fri Apr 9 15:20:10 1999 Alexander Babu Arulanthu <alex@cs.wustl.edu> - * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): - * tao/Servant_Base.h (TAO_ServantBase): - * tao/Server_Request.i (operation): - * tao/Operation_Table.h (TAO_Operation_Table): - * tao/Servant_Base.cpp: - * tao/Server_Request.cpp (retval_): - * tao/Operation_Table.cpp (TAO_Dynamic_Hash_OpTable): + * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): + * tao/Servant_Base.h (TAO_ServantBase): + * tao/Server_Request.i (operation): + * tao/Operation_Table.h (TAO_Operation_Table): + * tao/Servant_Base.cpp: + * tao/Server_Request.cpp (retval_): + * tao/Operation_Table.cpp (TAO_Dynamic_Hash_OpTable): Removed strlen calculation for the Operation Name from the critical path. Length as it is obtained during demarshalling is stored in the IIOP_Request object and passed to the Perfect Hash's find operation. diff --git a/TAO/tao/POA.cpp b/TAO/tao/POA.cpp index 39c6c7b0b6a..461263bdb12 100644 --- a/TAO/tao/POA.cpp +++ b/TAO/tao/POA.cpp @@ -1,5 +1,7 @@ // @(#) $Id$ +#define POA_NO_TIMESTAMP + // auto_ptr class #include "ace/Auto_Ptr.h" @@ -2232,10 +2234,6 @@ TAO_POA::parse_key (const TAO_ObjectKey &key, // Skip past the system id indicator starting_at += TAO_POA::system_id_key_type_length (); - // Assume persistent key when the POA_NO_TIMESTAMP is enabled. - is_persistent = 1; - -#if !defined (POA_NO_TIMESTAMP) // Check the persistence indicator char persistent_key_type = key_data[starting_at]; if (persistent_key_type == TAO_POA::persistent_key_char ()) @@ -2255,6 +2253,7 @@ TAO_POA::parse_key (const TAO_ObjectKey &key, // Skip past the persistent indicator starting_at += TAO_POA::persistent_key_type_length (); +#if !defined (POA_NO_TIMESTAMP) // Grab the timestamp for transient POAs. if (!is_persistent) { @@ -2348,16 +2347,14 @@ TAO_POA::create_object_key (const PortableServer::ObjectId &id) // Calculate the space required for the timestamp and the persistent // byte. - CORBA::ULong creation_time = 0; + CORBA::ULong creation_time = this->persistent_key_type_length (); #if !defined (POA_NO_TIMESTAMP) // Calculate the space required for the timestamp. CORBA::ULong creation_time_length = TAO_Creation_Time::creation_time_length (); if (!this->persistent_) { - creation_time = creation_time_length; + creation_time += creation_time_length; } - - creation_time += this->persistent_key_type_length (); #endif /* POA_NO_TIMESTAMP */ // Calculate the space required for the key. @@ -2392,11 +2389,11 @@ TAO_POA::create_object_key (const PortableServer::ObjectId &id) buffer[starting_at] = (CORBA::Octet) this->system_id_key_type (); starting_at += this->system_id_key_type_length (); -#if !defined (POA_NO_TIMESTAMP) // Copy the persistence byte. buffer[starting_at] = (CORBA::Octet) this->persistent_key_type (); starting_at += this->persistent_key_type_length (); +#if !defined (POA_NO_TIMESTAMP) // Then copy the timestamp for transient POAs. if (!this->persistent ()) { |