diff options
author | bala <balanatarajan@users.noreply.github.com> | 2003-07-02 13:00:34 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2003-07-02 13:00:34 +0000 |
commit | bbdb23dfa82a359a1167f211b4bd336a3adae8d8 (patch) | |
tree | 632b48b95a652bbb3f5662a8e8660ab52e93cf60 | |
parent | c60fae009c0f3d3b7f4799aef7297f006008b30b (diff) | |
download | ATCD-bbdb23dfa82a359a1167f211b4bd336a3adae8d8.tar.gz |
Dummy entry
-rw-r--r-- | TAO/tao/Connection_Resolver.cpp | 8 | ||||
-rw-r--r-- | TAO/tao/GIOP_Message_Base.cpp | 20 | ||||
-rw-r--r-- | TAO/tao/GIOP_Message_Base.h | 6 | ||||
-rw-r--r-- | TAO/tao/Invocation_Base.cpp | 18 | ||||
-rw-r--r-- | TAO/tao/Synch_Invocation.cpp | 10 | ||||
-rw-r--r-- | TAO/tao/Synch_Invocation.h | 50 | ||||
-rw-r--r-- | TAO/tao/TODO | 4 |
7 files changed, 98 insertions, 18 deletions
diff --git a/TAO/tao/Connection_Resolver.cpp b/TAO/tao/Connection_Resolver.cpp index 66fc0f07a31..16208a83e1d 100644 --- a/TAO/tao/Connection_Resolver.cpp +++ b/TAO/tao/Connection_Resolver.cpp @@ -52,9 +52,13 @@ namespace TAO TAO_Transport * - Profile_Connection_Resolver::resolve (TAO_Invocation_Endpoint_Selector *es - ACE_ENV_ARG_DECL) + Profile_Connection_Resolver::resolve (ACE_ENV_SINGLE_ARG_DECL) { + TAO_Invocation_Endpoint_Selector *es = + this->stub_->orb_core ()->endpoint_selector_factory ()->get_selector ( + ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_CHECK; + es->select_endpoint (this ACE_ENV_ARG_DECL); ACE_CHECK; diff --git a/TAO/tao/GIOP_Message_Base.cpp b/TAO/tao/GIOP_Message_Base.cpp index 6aecb3144de..1609eb7ebb2 100644 --- a/TAO/tao/GIOP_Message_Base.cpp +++ b/TAO/tao/GIOP_Message_Base.cpp @@ -22,11 +22,22 @@ ACE_RCSID (tao, GIOP_Message_Base, "$Id$") TAO_GIOP_Message_Base::TAO_GIOP_Message_Base (TAO_ORB_Core *orb_core, size_t /*input_cdr_size*/) - : orb_core_ (orb_core), - message_state_ (orb_core, + : orb_core_ (orb_core) + , message_state_ (orb_core, this) + , out_stream_ (this->buffer_, + sizeof this->buffer_, /* ACE_CDR::DEFAULT_BUFSIZE */ + byte_order, + orb_core->output_cdr_buffer_allocator (), + orb_core->output_cdr_dblock_allocator (), + orb_core->output_cdr_msgblock_allocator (), + orb_core->orb_params ()->cdr_memcpy_tradeoff (), + TAO_DEF_GIOP_MAJOR, + TAO_DEF_GIOP_MINOR) { - +#if defined (ACE_HAS_PURIFY) + ACE_OS::memset(buffer_, 0, sizeof(buffer_)); +#endif /* ACE_HAS_PURIFY */ } @@ -40,6 +51,9 @@ void TAO_GIOP_Message_Base::init (CORBA::Octet major, CORBA::Octet minor) { + // Set the giop version of the out stream + this->out_stream_.set_version (major, + minor); } diff --git a/TAO/tao/GIOP_Message_Base.h b/TAO/tao/GIOP_Message_Base.h index 1ed66ef6b70..f532184dd63 100644 --- a/TAO/tao/GIOP_Message_Base.h +++ b/TAO/tao/GIOP_Message_Base.h @@ -238,6 +238,12 @@ protected: /// The generator and parser state. // TAO_GIOP_Message_Generator_Parser *generator_parser_; + /// Buffer used for both the output and input CDR streams, this is + /// "safe" because we only one of the streams at a time. + char buffer_[ACE_CDR::DEFAULT_BUFSIZE]; + + /// Buffer where the request is placed. + TAO_OutputCDR out_stream_; }; diff --git a/TAO/tao/Invocation_Base.cpp b/TAO/tao/Invocation_Base.cpp index 53793b7b4d0..0f2a1a36a24 100644 --- a/TAO/tao/Invocation_Base.cpp +++ b/TAO/tao/Invocation_Base.cpp @@ -46,18 +46,13 @@ namespace TAO return stub->orb_core ()->invoke_services (); */ - TAO_Invocation_Endpoint_Selector *es = - stub->orb_core ()->endpoint_selector_factory ()->get_selector ( - ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - Connection_Resolver resolver (stub); - TAO_Transport *t = resolver.resolve (es - ACE_ENV_ARG_PARAMETER); + TAO_Transport *t = + resolver.resolve (ACE_ENV_SINGLE_ARG_PARAMETER); ACE_CHECK; + if (this->type_ == TAO_ONEWAY_INVOCATION) { // @@ Do Nothing at this point @@ -65,12 +60,9 @@ namespace TAO else if (this->type_ == TAO_TWOWAY_INVOCATION && this->mode_ == TAO_SYNCHRONOUS_INVOCATION) { - Synch_Invocation synch_invocation (stub); - - synch_invocation.connect (endpoint_selector); - synch_invocation.invoke (); + TAO::Synch_Twoway_Invocation synch; + synch.invoke (); synch_invocation.wait (); - } else if (this->type_ == TAO_TWOWAY_INVOCATION && this->mode_ == TAO_ASYNCHRONOUS_INVOCATION) diff --git a/TAO/tao/Synch_Invocation.cpp b/TAO/tao/Synch_Invocation.cpp new file mode 100644 index 00000000000..4316cc75ee9 --- /dev/null +++ b/TAO/tao/Synch_Invocation.cpp @@ -0,0 +1,10 @@ +//$Id$ +#include "Synch_Invocation.h" + +namespace TAO +{ + Synch_Invocation::Synch_Invocation () + { + } + +} diff --git a/TAO/tao/Synch_Invocation.h b/TAO/tao/Synch_Invocation.h new file mode 100644 index 00000000000..3edbff54f28 --- /dev/null +++ b/TAO/tao/Synch_Invocation.h @@ -0,0 +1,50 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file Synch_Invocation.h + * + * $Id$ + * + * + * @author Balachandran Natarajan <bala@dre.vanderbilt.edu> + */ +//============================================================================= +#ifndef TAO_SYNCH_INVOCATION_H +#define TAO_SYNCH_INVOCATION_H +#include "ace/pre.h" + +#include "tao/TAO_Export.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + + +namespace CORBA +{ + class Object; +} + +namespace TAO +{ + /** + * @class Synch_Invocation + * + * @brief Base class for Twoway_Invocation and Oneway_Invocation. + * + */ + class TAO_Export Synch_Invocation + { + public: + Synch_Invocation (); + }; + + class TAO_Export Synch_Twoway_Invocation: public Synch_Invocation + { + public: + + }; +} + +#endif /*TAO_SYNCH_INVOCATION_H*/ diff --git a/TAO/tao/TODO b/TAO/tao/TODO new file mode 100644 index 00000000000..b527c69881d --- /dev/null +++ b/TAO/tao/TODO @@ -0,0 +1,4 @@ + +. GIOP versions in the outbound stream within GIOP_Message_Base. + +.
\ No newline at end of file |