diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-11-25 02:54:36 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-11-25 02:54:36 +0000 |
commit | f4f79b795216066b5f19e59a8e89f14f38b78667 (patch) | |
tree | 72f593402aa36e3c84d5399ac86d9b8b51b539d7 | |
parent | 736c65c3005db3ac7ca7b6469f90263c45a5781a (diff) | |
download | ATCD-f4f79b795216066b5f19e59a8e89f14f38b78667.tar.gz |
ChangeLogTag:Mon Nov 24 20:53:03 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
-rw-r--r-- | TAO/local/ChangeLog | 9 | ||||
-rw-r--r-- | TAO/local/bin/Event_Service/Event_Channel.cpp | 201 | ||||
-rw-r--r-- | TAO/local/bin/Event_Service/Event_Channel.h | 6 |
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_; |