diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/EC_Dispatching.h')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/EC_Dispatching.h | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching.h b/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching.h index cbd2d15ef7d..b4ae4e44869 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching.h +++ b/TAO/orbsvcs/orbsvcs/Event/EC_Dispatching.h @@ -75,7 +75,7 @@ public: // **************************************************************** -class TAO_ORBSVCS_Export TAO_EC_Reactive_Dispatching : public TAO_EC_Dispatching +class TAO_EC_Reactive_Dispatching : public TAO_EC_Dispatching { // = TITLE // Dispatch using the caller thread. @@ -102,6 +102,42 @@ public: CORBA::Environment& env); }; +// **************************************************************** + +#if 0 +#include "orbsvcs/RtecSchedulerC.h" +// @@ Move to a separate file, otherwise we have to include the file +// above everywhere +class TAO_EC_Priority_Dispatching +{ + // = TITLE + // Priority based dispatching. + // + // = DESCRIPTION + // The events are processed using a different queue for each + // priority; a thread process each queue, each thread runs at a + // different OS priority. + // +public: + TAO_EC_Priority_Dispatching (RtecScheduler::Scheduler_ptr + scheduler); + // The scheduler is used to find the range of priorities and similar + // info. + + // = The EC_Dispatching methods. + virtual void activate (void); + virtual void shutdown (void); + virtual void push (TAO_EC_ProxyPushSupplier* proxy, + const RtecEventComm::EventSet& event, + const TAO_EC_QOS_Info& qos_info, + CORBA::Environment& env); + +private: + ACE_Thread_Manager thread_manager_; + // Use our own thread manager. +}; +#endif /* 0 */ + // @@ TODO // We could implement other dispatching strategies, such as: // - A single queue with a thread pool to process each event (how does |