summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2003-07-02 13:00:34 +0000
committerbala <balanatarajan@users.noreply.github.com>2003-07-02 13:00:34 +0000
commitbbdb23dfa82a359a1167f211b4bd336a3adae8d8 (patch)
tree632b48b95a652bbb3f5662a8e8660ab52e93cf60
parentc60fae009c0f3d3b7f4799aef7297f006008b30b (diff)
downloadATCD-bbdb23dfa82a359a1167f211b4bd336a3adae8d8.tar.gz
Dummy entry
-rw-r--r--TAO/tao/Connection_Resolver.cpp8
-rw-r--r--TAO/tao/GIOP_Message_Base.cpp20
-rw-r--r--TAO/tao/GIOP_Message_Base.h6
-rw-r--r--TAO/tao/Invocation_Base.cpp18
-rw-r--r--TAO/tao/Synch_Invocation.cpp10
-rw-r--r--TAO/tao/Synch_Invocation.h50
-rw-r--r--TAO/tao/TODO4
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