diff options
Diffstat (limited to 'Kokyu/Kokyu.h')
-rw-r--r-- | Kokyu/Kokyu.h | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/Kokyu/Kokyu.h b/Kokyu/Kokyu.h deleted file mode 100644 index 4d18b0d9399..00000000000 --- a/Kokyu/Kokyu.h +++ /dev/null @@ -1,136 +0,0 @@ -/* -*- C++ -*- */ -/** - * @file Kokyu.h - * - * $Id$ - * - * @author Venkita Subramonian (venkita@cs.wustl.edu) - * - * Based on previous work by Tim Harrison (harrison@cs.wustl.edu), - * Chris Gill, Carlos O'Ryan and other members of the DOC group. - */ - -#ifndef KOKYU_H -#define KOKYU_H -#include "ace/pre.h" -#include "ace/OS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Array.h" -#include "ace/Time_Value.h" -#include "ace/Auto_Ptr.h" -#include "ace/Message_Block.h" - -#include "kokyu_export.h" - -namespace Kokyu -{ - typedef long Priority_t; - typedef ACE_Time_Value Deadline_t; //absolute deadline - typedef ACE_Time_Value Execution_Time_t; //execution time - - enum Dispatching_Type_t - // Defines the type of prioritization strategy - // to be used by a dispatching queue - { - FIFO_DISPATCHING, - DEADLINE_DISPATCHING, - LAXITY_DISPATCHING - }; - - enum Criticality_t - // Defines the criticality of the operation. - // For use with Dynamic Scheduler. - { - VERY_LOW_CRITICALITY, - LOW_CRITICALITY, - MEDIUM_CRITICALITY, - HIGH_CRITICALITY, - VERY_HIGH_CRITICALITY - }; - - enum Importance_t - // Defines the importance of the operation, - // which can be used by the Scheduler as a - // "tie-breaker" when other scheduling - // parameters are equal. - { - VERY_LOW_IMPORTANCE, - LOW_IMPORTANCE, - MEDIUM_IMPORTANCE, - HIGH_IMPORTANCE, - VERY_HIGH_IMPORTANCE - }; - - struct ConfigInfo - { - Priority_t preemption_priority_; - - // OS priority of the dispatching thread associated with the queue - Priority_t thread_priority_; - - // type of dispatching queue - Dispatching_Type_t dispatching_type_; - }; - - typedef ACE_Array<ConfigInfo> ConfigInfoSet; - - struct QoSDescriptor - { - Priority_t preemption_priority_; - Deadline_t deadline_; - Execution_Time_t execution_time_; - }; - - class Kokyu_Export Dispatch_Command - { - public: - Dispatch_Command(int dont_delete = 0); - - /// Command callback - virtual int execute () = 0; - - int can_be_deleted () const; - - void destroy (void); - protected: - /// Destructor - // only inheritance is possible and object should be on heap, - // since object could be handed over to a different thread. - virtual ~Dispatch_Command (void); - - private: - int dont_delete_; - }; - - class Dispatcher_Impl; - - class Kokyu_Export Dispatcher - { - public: - int dispatch (const Dispatch_Command*, const QoSDescriptor&); - int shutdown (); - void implementation (Dispatcher_Impl*); - private: - auto_ptr<Dispatcher_Impl> dispatcher_impl_; - }; - - class Kokyu_Export Dispatcher_Factory - { - public: - //@@ Should we return auto_ptr<Dispatcher> instead? - static Dispatcher* create_dispatcher (const ConfigInfoSet&); - }; -} //end of namespace - -#if defined (__ACE_INLINE__) -#include "Kokyu.i" -#endif /* __ACE_INLINE__ */ - -#include "Dispatcher_Impl.h" - -#include "ace/post.h" -#endif /* KOKYU_H */ |