summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-11-25 02:54:36 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-11-25 02:54:36 +0000
commitf4f79b795216066b5f19e59a8e89f14f38b78667 (patch)
tree72f593402aa36e3c84d5399ac86d9b8b51b539d7
parent736c65c3005db3ac7ca7b6469f90263c45a5781a (diff)
downloadATCD-f4f79b795216066b5f19e59a8e89f14f38b78667.tar.gz
ChangeLogTag:Mon Nov 24 20:53:03 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
-rw-r--r--TAO/local/ChangeLog9
-rw-r--r--TAO/local/bin/Event_Service/Event_Channel.cpp201
-rw-r--r--TAO/local/bin/Event_Service/Event_Channel.h6
3 files changed, 42 insertions, 174 deletions
diff --git a/TAO/local/ChangeLog b/TAO/local/ChangeLog
index c66aba59997..6e70e93fb68 100644
--- a/TAO/local/ChangeLog
+++ b/TAO/local/ChangeLog
@@ -1,3 +1,10 @@
+Mon Nov 24 20:53:03 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
+
+ * bin/Event_Service/Event_Channel.h:
+ * bin/Event_Service/Event_Channel.cpp:
+ Removed the forward_event support, since this is MDA/Boeing
+ propietary.
+
Thu Nov 20 22:07:36 1997 David L. Levine <levine@cs.wustl.edu>
* local/bin/Scheduling_Service/Scheduler_Generic.*:
@@ -32,7 +39,7 @@ Sun Nov 16 00:11:28 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
* README:
* Makefile:
This directory should hold the propietary code of Boeing. It
- even holds its own Makefile to keep the profile *very* low.
+ even holds its own ChangeLog to keep the profile *very* low.
IT MUST NOT BE DISTRIBUTED IN THE RELEASES.
* bin/Makefile:
diff --git a/TAO/local/bin/Event_Service/Event_Channel.cpp b/TAO/local/bin/Event_Service/Event_Channel.cpp
index dcb2c883bd7..47919109f66 100644
--- a/TAO/local/bin/Event_Service/Event_Channel.cpp
+++ b/TAO/local/bin/Event_Service/Event_Channel.cpp
@@ -1349,21 +1349,6 @@ ACE_ES_Consumer_Correlation::connected (ACE_Push_Consumer_Proxy *consumer,
return -1;
- // Check if client has specified event fowarding.
- if (consumer->qos ().forward_event.type_ != ACE_ES_EVENT_ANY)
- {
- forwarding_rt_info_ = iter.first_rt_info ();
-
- if (forwarding_rt_info_ == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "ACE_ES_Consumer_Correlation::connected: "
- "could not get rt_info_ from event "
- "forwarding consumer.\n"), -1);
-
- if (this->initialize_event_forwarding () == -1)
- return -1;
- }
-
int cgroup_index = -1;
int dgroup_index = -1;
int crep_index = 0;
@@ -1634,53 +1619,6 @@ ACE_ES_Consumer_Correlation::register_event (RtecEventChannelAdmin::Dependency &
}
int
-ACE_ES_Consumer_Correlation::initialize_event_forwarding (void)
-{
- ACE_TRY
- {
- // Get supplier admin object.
- RtecEventChannelAdmin::SupplierAdmin_ptr sa =
- correlation_module_->channel_->for_suppliers (ACE_TRY_ENV);
- ACE_CHECK_ENV;
- // if (env.exception () != 0)
- // ACE_ERROR_RETURN ((LM_ERROR, "ACE_ES_Consumer_Correlation::initialize_event_forwarding"
- // "for_suppliers failed.\n"), -1);
-
- // Get push consumer proxy.
- channel_ = sa->obtain_push_consumer (ACE_TRY_ENV);
- ACE_CHECK_ENV;
-
- // if (env.exception () != 0)
- // ACE_ERROR_RETURN ((LM_ERROR, "ACE_ES_Consumer_Correlation::initialize_event_forwarding"
- // "obtain_push_consumer failed.\n"), -1);
-
- // Create the supplierQOS.
- qos_.publications_.length (1);
- qos_.publications_[0].event_.type_ = consumer_->qos ().forward_event.type_;
- qos_.publications_[0].dependency_info_.rt_info = forwarding_rt_info_;
- qos_.publications_[0].dependency_info_.number_of_calls = 1;
-
- // Connect to the channel.
- channel_->connect_push_supplier (this, qos_, ACE_TRY_ENV);
- ACE_CHECK_ENV;
- // if (env.exception () != 0)
- // ACE_ERROR_RETURN ((LM_ERROR, "ACE_ES_Consumer_Correlation::initialize_event_forwarding"
- // "connect_push_supplier failed.\n"), -1);
-
- // We're connected to the channel.
- connected_ = 1;
- }
- ACE_CATCHANY
- {
- ACE_ERROR_RETURN ((LM_ERROR, "ACE_ES_Consumer_Correlation::initialize_event_forwarding"
- " failed.\n"), -1);
- }
- ACE_ENDTRY;
-
- return 0;
-}
-
-int
ACE_ES_Consumer_Correlation::disconnecting (void)
{
// If we were forwarding events, disconnect as a supplier.
@@ -1713,60 +1651,42 @@ ACE_ES_Consumer_Correlation::push (ACE_ES_Consumer_Rep *cr,
switch (cr->correlation_type ())
{
case ACE_ES_Consumer_Rep::NO_CORRELATION:
- // Calls reschedule on all disjunction groups it belongs to.
- cr->reschedule_deadlines ();
-
- if (forwarding_rt_info_ != 0)
- {
- this->push_forward_event ();
- return 0;
- }
- else
- {
- ACE_TIMEPROBE (" ACE_ES_Consumer_Correlation::push, determine NO CORRELATION");
- ACE_ES_Dispatch_Request *request =
- new ACE_ES_Dispatch_Request (consumer_, event, cr->dependency ()->rt_info);
- ACE_TIMEPROBE (" ACE_ES_Consumer_Correlation::push, NO_CORR: alloc");
+ {
+ // Calls reschedule on all disjunction groups it belongs to.
+ cr->reschedule_deadlines ();
- if (request == 0)
- ACE_ERROR_RETURN ((LM_ERROR, "%p.\n",
- "ACE_ES_Consumer_Correlation::push"), 0);
+ ACE_TIMEPROBE (" ACE_ES_Consumer_Correlation::push, determine NO CORRELATION");
+ ACE_ES_Dispatch_Request *request =
+ new ACE_ES_Dispatch_Request (consumer_, event, cr->dependency ()->rt_info);
+ ACE_TIMEPROBE (" ACE_ES_Consumer_Correlation::push, NO_CORR: alloc");
+
+ if (request == 0)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p.\n",
+ "ACE_ES_Consumer_Correlation::push"), 0);
- return request;
- }
+ return request;
+ }
case ACE_ES_Consumer_Rep::CORRELATE:
return this->correlate (cr, event);
case ACE_ES_Consumer_Rep::DEADLINE_TIMEOUT:
{
- if (forwarding_rt_info_ != 0)
- {
- // This will clear any pending events for this group.
- cr->top_group ()->add_events (0, pending_events_, pending_flags_);
-
- // Send the forward event.
- this->push_forward_event ();
- return 0;
- }
- else
- {
- ACE_ES_Dispatch_Request *request =
- new ACE_ES_Dispatch_Request (consumer_, cr->dependency ()->rt_info);
+ ACE_ES_Dispatch_Request *request =
+ new ACE_ES_Dispatch_Request (consumer_, cr->dependency ()->rt_info);
- if (request == 0)
- ACE_ERROR_RETURN ((LM_ERROR, "%p.\n",
- "ACE_ES_Consumer_Correlation::push"), 0);
+ if (request == 0)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p.\n",
+ "ACE_ES_Consumer_Correlation::push"), 0);
- // Add the deadline timeout to the outbox.
- request->event_set () += event;
+ // Add the deadline timeout to the outbox.
+ request->event_set () += event;
- // Add any pending events to the outbox.
- cr->top_group ()->add_events (&(request->event_set ()),
- pending_events_, pending_flags_);
-
- return request;
- }
+ // Add any pending events to the outbox.
+ cr->top_group ()->add_events (&(request->event_set ()),
+ pending_events_, pending_flags_);
+
+ return request;
}
default:
@@ -1801,9 +1721,6 @@ ACE_ES_Consumer_Correlation::correlate (ACE_ES_Consumer_Rep *cr,
// for all iterations through the conjunction groups.
u_long freeze_pending_flags = pending_flags_;
- // This is to flag forwarding.
- int forward_event = 0;
-
for (int x=0; x < n_conjunction_groups_; x++)
{
if (conjunction_groups_[x].should_forward (freeze_pending_flags))
@@ -1812,22 +1729,17 @@ ACE_ES_Consumer_Correlation::correlate (ACE_ES_Consumer_Rep *cr,
// this will reschedule them.
conjunction_groups_[x].reschedule_deadline ();
- if (forwarding_rt_info_ == 0)
+ // First time in, allocate the new dispatch request.
+ if (request == 0)
{
- // First time in, allocate the new dispatch request.
+ request =
+ new ACE_ES_Dispatch_Request (consumer_,
+ cr->dependency ()->rt_info);
if (request == 0)
- {
- request =
- new ACE_ES_Dispatch_Request (consumer_,
- cr->dependency ()->rt_info);
- if (request == 0)
- ACE_ERROR_RETURN ((LM_ERROR, "%p.\n",
- "ACE_ES_Consumer_Correlation::correlate"), 0);
- outbox = &(request->event_set ());
- }
+ ACE_ERROR_RETURN ((LM_ERROR, "%p.\n",
+ "ACE_ES_Consumer_Correlation::correlate"), 0);
+ outbox = &(request->event_set ());
}
- else
- forward_event = 1;
// Add each of the pending events for this correlation to
// the outgoing dispatch request. If outbox == 0, then
@@ -1838,55 +1750,10 @@ ACE_ES_Consumer_Correlation::correlate (ACE_ES_Consumer_Rep *cr,
}
}
- if (forward_event)
- {
- this->push_forward_event ();
- return 0;
- }
- else
- return request;
+ return request;
}
-void
-ACE_ES_Consumer_Correlation::push_forward_event (void)
-{
- ACE_TRY
- {
- RtecEventComm::EventSet set;
- set.length(1);
- set[0] = consumer_->qos ().forward_event;
- channel_->push (set, ACE_TRY_ENV);
- }
- ACE_CATCH (CORBA::BAD_OPERATION, bad_op)
- {
- ACE_ERROR ((LM_ERROR,
- "ACE_ES_Consumer_Correlation::push_forward_event - "));
- // @@ TODO handle exceptions.
- // "BAD_OP %s: %d, %s\n",
- // bad_op.id(),
- // bad_op.minor(),
- // bad_op.param()));
- }
- ACE_CATCH (CORBA::SystemException, sys_ex)
- {
- ACE_ERROR ((LM_ERROR,
- "ACE_ES_Consumer_Correlation::push_forward_event - "));
- // @@ TODO: How to check the exceptions?
- // "SYS_EX %s: %d, %s\n",
- // sys_ex.id(),
- // sys_ex.minor(),
- // sys_ex.param()));
- }
- ACE_CATCHANY
- {
- ACE_ERROR ((LM_ERROR,
- "ACE_ES_Consumer_Correlation::push_forward_event - "
- "unexpected exception\n"));
- }
- ACE_ENDTRY;
-}
-
// ************************************************************
ACE_ES_Consumer_Rep::~ACE_ES_Consumer_Rep (void)
diff --git a/TAO/local/bin/Event_Service/Event_Channel.h b/TAO/local/bin/Event_Service/Event_Channel.h
index 3d536d10fa0..fbf680c2c0a 100644
--- a/TAO/local/bin/Event_Service/Event_Channel.h
+++ b/TAO/local/bin/Event_Service/Event_Channel.h
@@ -766,12 +766,6 @@ private:
RtecEventChannelAdmin::SupplierQOS qos_;
// Supplier QOS specifications.
- int initialize_event_forwarding (void);
- // Becomes a supplier. Returns 0 on success, -1 on failure.
-
- void push_forward_event (void);
- // Pushes the forward event.
-
// Events waiting to be forwarded.
Event_Set *pending_events_;