summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2003-01-30 23:15:39 +0000
committerbala <balanatarajan@users.noreply.github.com>2003-01-30 23:15:39 +0000
commit6b547f0966c410d6e0622362f70334f0b837b662 (patch)
treef15a22662e99299ca3b409a3fc33dbf01ff753db
parentd2433919025aad6360a305a4be37e8d744327c0c (diff)
downloadATCD-6b547f0966c410d6e0622362f70334f0b837b662.tar.gz
ChangeLogTag: Thu Jan 30 17:30:04 2003 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
-rw-r--r--TAO/ChangeLog15
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.cpp11
-rw-r--r--TAO/tao/IIOP_Connection_Handler.cpp10
-rw-r--r--TAO/tao/IIOP_Connection_Handler.h21
4 files changed, 46 insertions, 11 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 22a453b9d8e..4b1cd0d5e6a 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,18 @@
+Thu Jan 30 17:30:04 2003 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
+
+ * tao/IIOP_Connection_Handler.cpp:
+ * tao/IIOP_Connection_Handler.h: Added a new protected constructor
+ that can be used by the derived classes. This constructor just
+ initializes itself and its base classes without initializing the
+ transport. This is needed since the derived classes may want to
+ initialize its own version of the transport.
+
+ * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.cpp: Use the
+ new constructor to initialize the base class.
+
+ This fixes [BUG 1421]. Thanks to Jon Reis and Wayne Erchak for
+ reporting the problem.
+
Thu Jan 30 10:40:16 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be_include/be_visitor_context.h:
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.cpp
index e4f71186035..c4c94f1efeb 100644
--- a/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.cpp
+++ b/TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.cpp
@@ -70,7 +70,6 @@ TAO_IIOP_SSL_Connection_Handler (TAO_ORB_Core *orb_core,
CORBA::Boolean flag,
void *arg)
: TAO_IIOP_Connection_Handler (orb_core,
- flag,
(ACE_static_cast (
TAO_SSLIOP_Connection_Handler_State *,
arg))->tcp_properties)
@@ -80,11 +79,11 @@ TAO_IIOP_SSL_Connection_Handler (TAO_ORB_Core *orb_core,
arg);
TAO_IIOP_SSL_Transport* specific_transport = 0;
- ACE_NEW(specific_transport,
- TAO_IIOP_SSL_Transport (this,
- orb_core,
- s->ssliop_current.in (),
- 0));
+ ACE_NEW (specific_transport,
+ TAO_IIOP_SSL_Transport (this,
+ orb_core,
+ s->ssliop_current.in (),
+ 0));
// store this pointer (indirectly increment ref count)
this->transport (specific_transport);
diff --git a/TAO/tao/IIOP_Connection_Handler.cpp b/TAO/tao/IIOP_Connection_Handler.cpp
index ae6ef32ed71..f9af80a8a59 100644
--- a/TAO/tao/IIOP_Connection_Handler.cpp
+++ b/TAO/tao/IIOP_Connection_Handler.cpp
@@ -55,6 +55,16 @@ TAO_IIOP_Connection_Handler::TAO_IIOP_Connection_Handler (TAO_ORB_Core *orb_core
TAO_Transport::release (specific_transport);
}
+TAO_IIOP_Connection_Handler::TAO_IIOP_Connection_Handler (TAO_ORB_Core *orb_core,
+ void *arg)
+ : TAO_IIOP_SVC_HANDLER (orb_core->thr_mgr (), 0, 0),
+ TAO_Connection_Handler (orb_core),
+ tcp_properties_ (*(ACE_static_cast
+ (TAO_IIOP_Properties *, arg))),
+ dscp_codepoint_ (0)
+{
+}
+
TAO_IIOP_Connection_Handler::~TAO_IIOP_Connection_Handler (void)
{
diff --git a/TAO/tao/IIOP_Connection_Handler.h b/TAO/tao/IIOP_Connection_Handler.h
index 2868103c8d8..3750e5441de 100644
--- a/TAO/tao/IIOP_Connection_Handler.h
+++ b/TAO/tao/IIOP_Connection_Handler.h
@@ -132,15 +132,26 @@ public:
int set_dscp_codepoint (int tos);
- ///Update the tcp properties of the hanlder to the most recent
- ///properties set after the last invocation
+ /// Update the tcp properties of the hanlder to the most recent
+ /// properties set after the last invocation
virtual void update_protocol_properties (int send_buffer_size,
- int recv_buffer_size,
- int no_delay,
- int enable_network_priority);
+ int recv_buffer_size,
+ int no_delay,
+ int enable_network_priority);
protected:
+ /// Constructor that could be used by the derived classes.
+ /**
+ * Sometimes new pluggbale protocols which have similarties with
+ * IIOP may be tempted to this class for their use. Classical
+ * example being that of IIOP_SSL_Connection_Handler. This
+ * constructor just initializes its base class and sets all of its
+ * contents to the default value, if any
+ */
+ TAO_IIOP_Connection_Handler (TAO_ORB_Core *orb_core,
+ void *arg);
+
//@{
/**
* @name TAO_Connection Handler overloads