summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2001-07-04 13:22:23 +0000
committerbala <balanatarajan@users.noreply.github.com>2001-07-04 13:22:23 +0000
commitb8db6896aaa61d1f67c8353e9b36015e28d0d5ed (patch)
tree58aed43ba815c02f5fb016a0330937a9860efff4
parentc6130f41ccb64ffc729099584f16aece1a13d2a7 (diff)
downloadATCD-b8db6896aaa61d1f67c8353e9b36015e28d0d5ed.tar.gz
to my box at home...
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp26
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp7
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h4
3 files changed, 34 insertions, 3 deletions
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp
index 97a904a1bf4..7134fecd93a 100644
--- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp
+++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp
@@ -255,8 +255,17 @@ TAO_SSLIOP_Connection_Handler::fetch_handle (void)
int
+TAO_IIOP_Connection_Handler::resume_handler (void)
+{
+ return TAO_RESUMES_CONNECTION_HANDLER;
+}
+
+int
TAO_SSLIOP_Connection_Handler::handle_output (ACE_HANDLE)
{
+ TAO_Resume_Handle resume_handle (this->orb_core (),
+ this->fetch_handle ());
+
return this->transport ()->handle_output ();
}
@@ -332,7 +341,19 @@ TAO_SSLIOP_Connection_Handler::process_listen_point_list (
int
TAO_SSLIOP_Connection_Handler::handle_input (ACE_HANDLE h)
{
- return this->handle_input_i (h);
+ // Increase the reference count on the upcall that have passed us.
+ this->pending_upcalls_++;
+
+ TAO_Resume_Handle resume_handle (this->orb_core (),
+ this->fetch_handle ());
+
+ int retval = this->transport ()->handle_input_i (resume_handle);
+
+ // The upcall is done. Bump down the reference count
+ if (--this->pending_upcalls_ <= 0)
+ retval = -1;
+
+ return retval;
}
@@ -341,13 +362,12 @@ int
TAO_SSLIOP_Connection_Handler::handle_input_i (ACE_HANDLE,
ACE_Time_Value *max_wait_time)
{
- int result;
+
// Set up the SSLIOP::Current object.
TAO_SSL_State_Guard ssl_state_guard (this,
this->orb_core (),
result);
-
if (result == -1)
return -1;
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp
index fa48ba0cde0..e107f9c4585 100644
--- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp
+++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp
@@ -69,6 +69,13 @@ TAO_SSLIOP_Transport::messaging_object (void)
return this->messaging_object_;
}
+int
+TAO_SSLIOP_Transport::handle_input_i (TAO_Resume_Handle &rh,
+ ACE_Time_Value *max_wait_time,
+ int block)
+{
+
+}
ssize_t
TAO_SSLIOP_Transport::send_i (iovec *iov,
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h
index 4f3c3d3e71e..eb316a425b1 100644
--- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h
+++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h
@@ -82,6 +82,10 @@ protected:
virtual TAO_Pluggable_Messaging *messaging_object (void);
+ virtual int handle_input_i (TAO_Resume_Handle &rh,
+ ACE_Time_Value *max_wait_time = 0,
+ int block = 0);
+
/// Write the complete Message_Block chain to the connection.
virtual ssize_t send_i (iovec *iov, int iovcnt,
size_t &bytes_transferred,