summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-04-18 02:16:04 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-04-18 02:16:04 +0000
commit83532134aea66fe0a20cc4799767d0843a26121f (patch)
treedf9372c20d0c55d0dba41647d30a33310cb8ac8a
parente7c4c41bacc88059c50bd88626daee664d61bacc (diff)
downloadATCD-83532134aea66fe0a20cc4799767d0843a26121f.tar.gz
ChangeLogTag:Tue Apr 17 19:12:31 2001 Carlos O'Ryan <coryan@uci.edu>
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a20
-rw-r--r--TAO/tao/Makefile3
-rw-r--r--TAO/tao/Message_Sent_Callback.cpp14
-rw-r--r--TAO/tao/Message_Sent_Callback.h60
-rw-r--r--TAO/tao/Message_Sent_Callback.inl0
-rw-r--r--TAO/tao/Queued_Message.cpp18
-rw-r--r--TAO/tao/Queued_Message.h14
-rw-r--r--TAO/tao/Strategies/UIOP_Transport.cpp6
-rw-r--r--TAO/tao/Sync_Strategies.cpp10
-rw-r--r--TAO/tao/Transport.cpp5
10 files changed, 50 insertions, 100 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a
index 2eb71943b72..db553f00e93 100644
--- a/TAO/ChangeLogs/ChangeLog-02a
+++ b/TAO/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,23 @@
+Tue Apr 17 19:12:31 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * tao/Transport.cpp:
+ Reset the current deadline as soon as the queue is empty.
+
+ * tao/Sync_Strategies.cpp:
+ Add debugging messages
+
+ * tao/Makefile:
+ * tao/Message_Sent_Callback.h:
+ * tao/Message_Sent_Callback.inl:
+ * tao/Message_Sent_Callback.cpp:
+ * tao/Queued_Message.h:
+ * tao/Queued_Message.cpp:
+ Removed the TAO_Message_Sent_Callback class, it was not required
+ at all.
+
+ * tao/Strategies/UIOP_Transport.cpp:
+ Add missing function (removed during the merge).
+
Tue Apr 17 14:21:23 2001 Carlos O'Ryan <coryan@uci.edu>
* tao/Queued_Message.h:
diff --git a/TAO/tao/Makefile b/TAO/tao/Makefile
index a9c59750878..dd2c77e6e88 100644
--- a/TAO/tao/Makefile
+++ b/TAO/tao/Makefile
@@ -244,8 +244,7 @@ ORB_CORE_FILES = \
Reactive_Flushing_Strategy \
Queued_Message \
Synch_Queued_Message \
- Asynch_Queued_Message \
- Message_Sent_Callback
+ Asynch_Queued_Message
DYNAMIC_ANY_FILES =
diff --git a/TAO/tao/Message_Sent_Callback.cpp b/TAO/tao/Message_Sent_Callback.cpp
deleted file mode 100644
index 5508945fbde..00000000000
--- a/TAO/tao/Message_Sent_Callback.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-// -*- C++ -*-
-// $Id$
-
-#include "Message_Sent_Callback.h"
-
-#if !defined (__ACE_INLINE__)
-# include "Message_Sent_Callback.inl"
-#endif /* __ACE_INLINE__ */
-
-ACE_RCSID(tao, Message_Sent_Callback, "$Id$")
-
-TAO_Message_Sent_Callback::~TAO_Message_Sent_Callback (void)
-{
-}
diff --git a/TAO/tao/Message_Sent_Callback.h b/TAO/tao/Message_Sent_Callback.h
deleted file mode 100644
index 5a3bccda8ed..00000000000
--- a/TAO/tao/Message_Sent_Callback.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file Message_Sent_Callback.h
- *
- * $Id$
- *
- * @author Carlos O'Ryan <coryan@uci.edu>
- */
-//=============================================================================
-
-#ifndef TAO_MESSAGE_SENT_CALLBACK_H
-#define TAO_MESSAGE_SENT_CALLBACK_H
-#include "ace/pre.h"
-
-#include "corbafwd.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-/**
- * @class TAO_Message_Sent_Callback
- *
- * @brief Encapsulate the signaling mechanism used to wake up threads
- * waiting for a message to be sent out.
- *
- * Please read the documentation in the TAO_Transport class to find
- * out more about the design of the outgoing data path.
- *
- */
-class TAO_Export TAO_Message_Sent_Callback
-{
-public:
- /// Constructor
- TAO_Message_Sent_Callback (void);
-
- /// Destructor
- virtual ~TAO_Message_Sent_Callback (void);
-
- /// The message has been successfully sent
- virtual void send_completed (void) = 0;
-
- /// The message has failed
- virtual void send_failed (void) = 0;
-
- /// The message has timedout
- virtual void send_timeout (void) = 0;
-
- /// The connection was closed before the message was sent
- virtual void connection_closed (void) = 0;
-};
-
-#if defined (__ACE_INLINE__)
-# include "Message_Sent_Callback.inl"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-#endif /* TAO_MESSAGE_SENT_CALLBACK_H */
diff --git a/TAO/tao/Message_Sent_Callback.inl b/TAO/tao/Message_Sent_Callback.inl
deleted file mode 100644
index e69de29bb2d..00000000000
--- a/TAO/tao/Message_Sent_Callback.inl
+++ /dev/null
diff --git a/TAO/tao/Queued_Message.cpp b/TAO/tao/Queued_Message.cpp
index 0b84413bd46..1cd30ae2e2e 100644
--- a/TAO/tao/Queued_Message.cpp
+++ b/TAO/tao/Queued_Message.cpp
@@ -2,7 +2,6 @@
// $Id$
#include "Queued_Message.h"
-#include "Message_Sent_Callback.h"
#if !defined (__ACE_INLINE__)
# include "Queued_Message.inl"
@@ -10,11 +9,10 @@
ACE_RCSID(tao, Queued_Message, "$Id$")
-TAO_Queued_Message::TAO_Queued_Message (TAO_Message_Sent_Callback *callback)
+TAO_Queued_Message::TAO_Queued_Message (void)
: connection_closed_ (0)
, send_failure_ (0)
, timeout_ (0)
- , callback_ (callback)
, next_ (0)
, prev_ (0)
{
@@ -28,22 +26,18 @@ void
TAO_Queued_Message::connection_closed (void)
{
this->connection_closed_ = 1;
-
- if (this->callback_ != 0)
- {
- this->callback_->connection_closed ();
- }
}
void
TAO_Queued_Message::send_failure (void)
{
this->send_failure_ = 1;
+}
- if (this->callback_ != 0)
- {
- this->callback_->send_failed ();
- }
+void
+TAO_Queued_Message::timeout (void)
+{
+ this->timeout_ = 1;
}
void
diff --git a/TAO/tao/Queued_Message.h b/TAO/tao/Queued_Message.h
index 069b778f10f..2ae2d67a25a 100644
--- a/TAO/tao/Queued_Message.h
+++ b/TAO/tao/Queued_Message.h
@@ -21,7 +21,6 @@
#endif /* ACE_LACKS_PRAGMA_ONCE */
class ACE_Message_Block;
-class TAO_Message_Sent_Callback;
/**
* @class TAO_Queued_Message
@@ -70,7 +69,7 @@ public:
* threads about the status of the message. It is null if there are
* no waiting threads.
*/
- TAO_Queued_Message (TAO_Message_Sent_Callback *callback = 0);
+ TAO_Queued_Message (void);
/// Destructor
virtual ~TAO_Queued_Message (void);
@@ -82,6 +81,9 @@ public:
/// There was an error while sending the data.
void send_failure (void);
+ /// There was a timeout while sending the data
+ void timeout (void);
+
/** @name Intrusive list manipulation
*
* The messages are put in a doubled linked list (for easy insertion
@@ -193,14 +195,6 @@ protected:
int timeout_;
private:
- /// If not null, this is the object that we signal to indicate that
- /// the message was sent.
- /**
- * The signaling mechanism used to wakeup the thread waiting for
- * this message to complete changes
- */
- TAO_Message_Sent_Callback *callback_;
-
/// Implement an intrusive double-linked list for the message queue
TAO_Queued_Message *next_;
TAO_Queued_Message *prev_;
diff --git a/TAO/tao/Strategies/UIOP_Transport.cpp b/TAO/tao/Strategies/UIOP_Transport.cpp
index 730931105f3..172ef5260a0 100644
--- a/TAO/tao/Strategies/UIOP_Transport.cpp
+++ b/TAO/tao/Strategies/UIOP_Transport.cpp
@@ -58,6 +58,12 @@ TAO_UIOP_Transport::event_handler_i (void)
return this->connection_handler_;
}
+TAO_Pluggable_Messaging *
+TAO_UIOP_Transport::messaging_object (void)
+{
+ return this->messaging_object_;
+}
+
ssize_t
TAO_UIOP_Transport::send_i (iovec *iov, int iovcnt,
size_t &bytes_transferred,
diff --git a/TAO/tao/Sync_Strategies.cpp b/TAO/tao/Sync_Strategies.cpp
index 463822fadeb..a64223da662 100644
--- a/TAO/tao/Sync_Strategies.cpp
+++ b/TAO/tao/Sync_Strategies.cpp
@@ -5,6 +5,7 @@
#include "tao/Buffering_Constraint_Policy.h"
#include "tao/Stub.h"
#include "tao/ORB_Core.h"
+#include "tao/debug.h"
#if !defined (__ACE_INLINE__)
# include "tao/Sync_Strategies.i"
@@ -140,6 +141,15 @@ TAO_Eager_Buffering_Sync_Strategy::
return 0;
}
+ if (TAO_debug_level > 6)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "TAO (%P|%t) - TAO_Eager_Buffering_Sync_Strategy::timer_check, "
+ "Now = %u, Current = %u, New = %u\n",
+ now.msec (), current_deadline.msec (),
+ new_deadline.msec ()));
+ }
+
return 1;
}
diff --git a/TAO/tao/Transport.cpp b/TAO/tao/Transport.cpp
index 677a7ef68c8..1b3be019b3b 100644
--- a/TAO/tao/Transport.cpp
+++ b/TAO/tao/Transport.cpp
@@ -137,6 +137,8 @@ TAO_Transport::handle_output ()
this->orb_core ()->flushing_strategy ();
flushing_strategy->cancel_output (this);
+
+ this->current_deadline_ = ACE_Time_Value::zero;
return 0;
}
@@ -1023,8 +1025,7 @@ TAO_Transport::check_buffering_constraints_i (TAO_Stub *stub,
set_timer,
new_deadline);
- // ... it is not time to flush yet, but maybe we need to set a
- // timer ...
+ // ... check if we need to set a timer ...
if (set_timer)
{
this->current_deadline_ = new_deadline;