summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp24
1 files changed, 4 insertions, 20 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp
index ad346c58e44..c0c86cb769a 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp
@@ -2,8 +2,6 @@
#include "EC_Priority_Dispatching.h"
#include "EC_Dispatching_Task.h"
-#include "EC_Event_Channel.h"
-#include "EC_QOS_Info.h"
#include "orbsvcs/Event_Service_Constants.h"
#include "ace/Sched_Params.h"
@@ -13,13 +11,6 @@
ACE_RCSID(Event, EC_Priority_Dispatching, "$Id$")
-TAO_EC_Priority_Dispatching::TAO_EC_Priority_Dispatching (TAO_EC_Event_Channel *ec)
- : ntasks_ (0),
- tasks_ (0),
- scheduler_ (ec->scheduler ())
-{
-}
-
void
TAO_EC_Priority_Dispatching::activate (void)
{
@@ -30,7 +21,6 @@ TAO_EC_Priority_Dispatching::activate (void)
this->ntasks_ = ACE_Scheduler_MAX_PRIORITIES;
ACE_NEW (this->tasks_, TAO_EC_Dispatching_Task*[this->ntasks_]);
- // @@ Query the scheduler to obtain the priorities!
int priority =
(ACE_Sched_Params::priority_min (ACE_SCHED_FIFO) +
ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
@@ -87,18 +77,12 @@ void
TAO_EC_Priority_Dispatching::push_nocopy (TAO_EC_ProxyPushSupplier* proxy,
RtecEventComm::EventSet& event,
TAO_EC_QOS_Info& qos_info,
- CORBA::Environment &ACE_TRY_ENV)
+ CORBA::Environment& ACE_TRY_ENV)
{
if (this->tasks_ == 0)
this->activate ();
- int i = qos_info.preemption_priority;
- if (i < 0 || i >= this->ntasks_)
- {
- // @@ Throw something?
- i = 0;
- }
-
-
- this->tasks_[i]->push (proxy, event, ACE_TRY_ENV);
+ // @@ Use the QOS_Info to select the right queue....
+ this->tasks_[0]->putq (new TAO_EC_Push_Command (proxy,
+ event));
}