3 * @file Default_Dispatcher_Impl.h
5 * @author Venkita Subramonian (venkita@cs.wustl.edu)
7 * Based on previous work by Tim Harrison (harrison@cs.wustl.edu),
8 * Chris Gill, Carlos O'Ryan and other members of the DOC group.
11 #ifndef DEFAULT_DISPATCHER_IMPL_H
12 #define DEFAULT_DISPATCHER_IMPL_H
13 #include /**/ "ace/pre.h"
18 #if !defined (ACE_LACKS_PRAGMA_ONCE)
20 #endif /* ACE_LACKS_PRAGMA_ONCE */
22 #include "kokyu_export.h"
23 #include "Kokyu_defs.h"
24 #include "Dispatcher_Impl.h"
25 #include "Dispatcher_Task.h"
31 * @class Default_Dispatcher_Impl
33 * @brief Default implementation class for EC dispatcher
37 class Default_Dispatcher_Impl
: public Dispatcher_Impl
40 Default_Dispatcher_Impl ();
44 int init_i (const Dispatcher_Attributes
&);
45 int dispatch_i (const Dispatch_Command
*,
46 const QoSDescriptor
&);
48 Dispatcher_Task
* find_task_with_preemption_prio (Priority_t
);
51 typedef std::unique_ptr
<Dispatcher_Task
> Dispatcher_Task_Auto_Ptr
;
52 std::unique_ptr
<Dispatcher_Task_Auto_Ptr
[]> tasks_
;
54 ConfigInfoSet curr_config_info_
;
58 class Shutdown_Task_Command
: public Dispatch_Command
62 Shutdown_Task_Command (ACE_Allocator
*mb_allocator
= 0);
69 #if defined (__ACE_INLINE__)
70 #include "Default_Dispatcher_Impl.inl"
71 #endif /* __ACE_INLINE__ */
73 #include /**/ "ace/post.h"
74 #endif /* DEFAULT_DISPATCHER_IMPL_H */