summaryrefslogtreecommitdiff
path: root/ACE/Kokyu/Dispatcher_Task.i
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/Kokyu/Dispatcher_Task.i')
-rw-r--r--ACE/Kokyu/Dispatcher_Task.i81
1 files changed, 81 insertions, 0 deletions
diff --git a/ACE/Kokyu/Dispatcher_Task.i b/ACE/Kokyu/Dispatcher_Task.i
new file mode 100644
index 00000000000..e663509d86b
--- /dev/null
+++ b/ACE/Kokyu/Dispatcher_Task.i
@@ -0,0 +1,81 @@
+// $Id$
+
+namespace Kokyu
+{
+ACE_INLINE
+Dispatcher_Task::Dispatcher_Task (const ConfigInfo& config_info,
+ ACE_Thread_Manager* thr_manager)
+ : ACE_Task<ACE_SYNCH> (thr_manager),
+ curr_config_info_ (config_info),
+ allocator_ (config_info.allocator_),
+ own_allocator_ (0),
+ deadline_msg_strategy_ (config_info.reordering_flags_.static_bit_field_mask_,
+ config_info.reordering_flags_.static_bit_field_shift_,
+ config_info.reordering_flags_.dynamic_priority_max_,
+ config_info.reordering_flags_.dynamic_priority_offset_),
+ laxity_msg_strategy_ (config_info.reordering_flags_.static_bit_field_mask_,
+ config_info.reordering_flags_.static_bit_field_shift_,
+ config_info.reordering_flags_.dynamic_priority_max_,
+ config_info.reordering_flags_.dynamic_priority_offset_)
+{
+ this->initialize();
+}
+
+ACE_INLINE
+Dispatcher_Task::~Dispatcher_Task ()
+{
+ if (own_allocator_)
+ {
+ delete allocator_;
+ }
+}
+
+ACE_INLINE
+Priority_t
+Dispatcher_Task::preemption_priority() const
+{
+ return curr_config_info_.preemption_priority_;
+}
+
+
+ACE_INLINE
+const ConfigInfo&
+Dispatcher_Task::get_curr_config_info() const
+{
+ return curr_config_info_;
+}
+
+ACE_INLINE
+Dispatch_Queue_Item::Dispatch_Queue_Item (
+ const Dispatch_Command* cmd,
+ const QoSDescriptor& qos_info,
+ ACE_Data_Block *data_block,
+ int flags,
+ ACE_Allocator* mb_allocator)
+ : ACE_Message_Block (data_block,
+ flags,
+ mb_allocator),
+ command_ (cmd), qos_info_ (qos_info)
+
+{
+ this->init_i (qos_info);
+}
+
+ACE_INLINE
+Dispatch_Queue_Item::Dispatch_Queue_Item (
+ const Dispatch_Command* cmd,
+ const QoSDescriptor& qos_info,
+ ACE_Allocator* mb_allocator)
+ : ACE_Message_Block (mb_allocator),
+ command_ (cmd), qos_info_ (qos_info)
+{
+ this->init_i (qos_info);
+}
+
+ACE_INLINE
+Dispatch_Command*
+Dispatch_Queue_Item::command()
+{
+ return const_cast<Dispatch_Command*> (command_);
+}
+}