summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2003-10-18 02:33:04 +0000
committerbala <balanatarajan@users.noreply.github.com>2003-10-18 02:33:04 +0000
commitbc8b9e86b2143803acc2a64fbd7675d63e98aec8 (patch)
treed19c234eca0fb43ce701b726b1960b966bbf6e94
parentf1764d5317c11db740ef565786978b6849147e7b (diff)
downloadATCD-bc8b9e86b2143803acc2a64fbd7675d63e98aec8.tar.gz
ChangeLogTag:Fri Oct 17 21:30:05 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-rw-r--r--TAO/ChangeLog_ref21
-rw-r--r--TAO/tao/Collocated_Invocation.cpp2
-rw-r--r--TAO/tao/Collocated_Invocation.h1
-rw-r--r--TAO/tao/Invocation_Adapter.cpp9
-rw-r--r--TAO/tao/Invocation_Adapter.h3
-rw-r--r--TAO/tao/Invocation_Base.cpp6
-rw-r--r--TAO/tao/Invocation_Base.h3
-rw-r--r--TAO/tao/Invocation_Base.inl2
-rw-r--r--TAO/tao/Messaging/Asynch_Invocation_Adapter.cpp3
-rw-r--r--TAO/tao/Remote_Invocation.cpp1
10 files changed, 42 insertions, 9 deletions
diff --git a/TAO/ChangeLog_ref b/TAO/ChangeLog_ref
index ad6cd0a85a0..d411d695a06 100644
--- a/TAO/ChangeLog_ref
+++ b/TAO/ChangeLog_ref
@@ -1,3 +1,24 @@
+Fri Oct 17 21:30:05 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * tao/Collocated_Invocation.cpp:
+ * tao/Collocated_Invocation.h: Changed the constructor to take in
+ TAO_Stub which needs to be passed up to its base class.
+
+ * tao/Invocation_Adapter.cpp:
+ * tao/Invocation_Adapter.h: Added an argument to get_timeout
+ (). Clients need to send the stub pointer to get the timeout
+ values.
+
+ * tao/Invocation_Base.cpp:
+ * tao/Invocation_Base.h:
+ * tao/Invocation_Base.inl: Cached the stub object in this class.
+
+ * tao/Remote_Invocation.cpp: Passed the stub object up to the
+ parent.
+
+ * tao/Messaging/Asynch_Invocation_Adapter.cpp: Changes forced due
+ to the above changes.
+
Thu Oct 16 17:38:24 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
* tao/Invocation_Adapter.inl: New file added to hold the
diff --git a/TAO/tao/Collocated_Invocation.cpp b/TAO/tao/Collocated_Invocation.cpp
index c93cc3c8327..8a383ef31df 100644
--- a/TAO/tao/Collocated_Invocation.cpp
+++ b/TAO/tao/Collocated_Invocation.cpp
@@ -10,10 +10,12 @@ namespace TAO
{
Collocated_Invocation::Collocated_Invocation (CORBA::Object_ptr et,
CORBA::Object_ptr t,
+ TAO_Stub *stub,
TAO_Operation_Details &detail,
bool response_expected)
: Invocation_Base (et,
t,
+ stub,
detail,
response_expected)
{
diff --git a/TAO/tao/Collocated_Invocation.h b/TAO/tao/Collocated_Invocation.h
index 1ffc7f7cfd3..b59f34862d1 100644
--- a/TAO/tao/Collocated_Invocation.h
+++ b/TAO/tao/Collocated_Invocation.h
@@ -47,6 +47,7 @@ namespace TAO
public:
Collocated_Invocation (CORBA::Object_ptr et,
CORBA::Object_ptr t,
+ TAO_Stub *stub,
TAO_Operation_Details &detail,
bool response_expected = true);
diff --git a/TAO/tao/Invocation_Adapter.cpp b/TAO/tao/Invocation_Adapter.cpp
index c7144c179ac..e00b0cea362 100644
--- a/TAO/tao/Invocation_Adapter.cpp
+++ b/TAO/tao/Invocation_Adapter.cpp
@@ -102,6 +102,7 @@ namespace TAO
{
Collocated_Invocation coll_inv (effective_target,
this->target_,
+ stub,
details,
this->type_ == TAO_TWOWAY_INVOCATION);
@@ -167,10 +168,11 @@ namespace TAO
}
bool
- Invocation_Adapter::get_timeout (ACE_Time_Value &timeout)
+ Invocation_Adapter::get_timeout (TAO_Stub *stub,
+ ACE_Time_Value &timeout)
{
bool has_timeout = false;
- this->target_->orb_core ()->call_timeout_hook (this->target_->_stubobj (),
+ this->target_->orb_core ()->call_timeout_hook (stub,
has_timeout,
timeout);
@@ -204,7 +206,8 @@ namespace TAO
{
ACE_Time_Value tmp_wait_time;
bool is_timeout =
- this->get_timeout (tmp_wait_time);
+ this->get_timeout (stub,
+ tmp_wait_time);
if (is_timeout)
max_wait_time = &tmp_wait_time;
diff --git a/TAO/tao/Invocation_Adapter.h b/TAO/tao/Invocation_Adapter.h
index e7a080c9203..130b40ab805 100644
--- a/TAO/tao/Invocation_Adapter.h
+++ b/TAO/tao/Invocation_Adapter.h
@@ -196,7 +196,8 @@ namespace TAO
/// Helper function that extracts the roundtrip timeout policies
/// set in the ORB.
- bool get_timeout (ACE_Time_Value &val);
+ bool get_timeout (TAO_Stub *stub,
+ ACE_Time_Value &val);
/// Helper method that extracts TAO_Stub from the target object.
TAO_Stub *get_stub (ACE_ENV_SINGLE_ARG_DECL) const;
diff --git a/TAO/tao/Invocation_Base.cpp b/TAO/tao/Invocation_Base.cpp
index 0e468347fda..05d61e10875 100644
--- a/TAO/tao/Invocation_Base.cpp
+++ b/TAO/tao/Invocation_Base.cpp
@@ -19,10 +19,9 @@ ACE_RCSID (tao,
namespace TAO
{
-
-
Invocation_Base::Invocation_Base (CORBA::Object_ptr ot,
CORBA::Object_ptr t,
+ TAO_Stub *stub,
TAO_Operation_Details &details,
bool response_expected)
: details_ (details)
@@ -30,7 +29,8 @@ namespace TAO
, response_expected_ (response_expected)
, otarget_ (ot)
, target_ (t)
- , orb_core_ (t->_stubobj ()->orb_core ())
+ , orb_core_ (stub->orb_core ())
+ , stub_ (stub)
#if TAO_HAS_INTERCEPTORS == 1
, adapter_ (orb_core_->client_request_interceptors (),
this)
diff --git a/TAO/tao/Invocation_Base.h b/TAO/tao/Invocation_Base.h
index c120d627523..2824a8a528b 100644
--- a/TAO/tao/Invocation_Base.h
+++ b/TAO/tao/Invocation_Base.h
@@ -122,6 +122,7 @@ namespace TAO
*/
Invocation_Base (CORBA::Object_ptr otarget,
CORBA::Object_ptr target,
+ TAO_Stub *stub,
TAO_Operation_Details &op,
bool response_expected);
@@ -155,6 +156,8 @@ namespace TAO
/// Cache the ORB_Core
TAO_ORB_Core *orb_core_;
+
+ TAO_Stub *stub_;
//@}
/// Operations invoked by the
diff --git a/TAO/tao/Invocation_Base.inl b/TAO/tao/Invocation_Base.inl
index 2701ee56489..d94053f3c18 100644
--- a/TAO/tao/Invocation_Base.inl
+++ b/TAO/tao/Invocation_Base.inl
@@ -11,7 +11,7 @@ namespace TAO
ACE_INLINE TAO_Stub *
Invocation_Base::stub (void) const
{
- return this->target_->_stubobj ();
+ return this->stub_;
}
ACE_INLINE void
diff --git a/TAO/tao/Messaging/Asynch_Invocation_Adapter.cpp b/TAO/tao/Messaging/Asynch_Invocation_Adapter.cpp
index 95feb09a773..2e6e2cf2d46 100644
--- a/TAO/tao/Messaging/Asynch_Invocation_Adapter.cpp
+++ b/TAO/tao/Messaging/Asynch_Invocation_Adapter.cpp
@@ -105,7 +105,8 @@ namespace TAO
// AMI Timeout Handling Begin
ACE_Time_Value tmp;
- if (this->get_timeout (tmp))
+ if (this->get_timeout (r.stub (),
+ tmp))
{
this->rd_->schedule_timer (op.request_id (),
*max_wait_time);
diff --git a/TAO/tao/Remote_Invocation.cpp b/TAO/tao/Remote_Invocation.cpp
index 31e927c8f7a..475b51f35f2 100644
--- a/TAO/tao/Remote_Invocation.cpp
+++ b/TAO/tao/Remote_Invocation.cpp
@@ -20,6 +20,7 @@ namespace TAO
bool response_expected)
: Invocation_Base (otarget,
resolver.object (),
+ resolver.stub (),
detail,
response_expected)
, resolver_ (resolver)