EC_Scheduling_Strategy.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 /**
00004  *  @file   EC_Scheduling_Strategy.h
00005  *
00006  *  $Id: EC_Scheduling_Strategy.h 76589 2007-01-25 18:04:11Z elliott_c $
00007  *
00008  *  @author Carlos O'Ryan (coryan@cs.wustl.edu)
00009  *
00010  * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and
00011  * other members of the DOC group. More details can be found in:
00012  *
00013  * http://doc.ece.uci.edu/~coryan/EC/index.html
00014  */
00015 
00016 #ifndef TAO_EC_SCHEDULING_STRATEGY_H
00017 #define TAO_EC_SCHEDULING_STRATEGY_H
00018 
00019 #include /**/ "ace/pre.h"
00020 
00021 #include /**/ "orbsvcs/Event/event_serv_export.h"
00022 
00023 #include "orbsvcs/RtecBaseC.h"
00024 #include "orbsvcs/RtecEventCommC.h"
00025 
00026 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00027 # pragma once
00028 #endif /* ACE_LACKS_PRAGMA_ONCE */
00029 
00030 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00031 
00032 class TAO_EC_ProxyPushConsumer;
00033 class TAO_EC_ProxyPushSupplier;
00034 class TAO_EC_Supplier_Filter;
00035 class TAO_EC_QOS_Info;
00036 
00037 /**
00038  * @class TAO_EC_Scheduling_Strategy
00039  *
00040  * @brief Define the interface for the scheduling strategy
00041  *
00042  * The scheduling strategy controls the actions that the event
00043  * channel must take to update the dependency information in the
00044  * scheduler and to query the scheduler for the priority of each
00045  * event pushed by a supplier.
00046  * The base
00047  */
00048 class TAO_RTEvent_Serv_Export TAO_EC_Scheduling_Strategy
00049 {
00050 public:
00051   /// Destructor
00052   virtual ~TAO_EC_Scheduling_Strategy (void);
00053 
00054   /// Add all the dependencies between @a supplier and @a consumer
00055   virtual void add_proxy_supplier_dependencies (
00056       TAO_EC_ProxyPushSupplier *supplier,
00057       TAO_EC_ProxyPushConsumer *consumer) = 0;
00058 
00059   /// Schedule an event set and deliver them to the filter in the
00060   /// desired order and grouping.
00061   virtual void schedule_event (const RtecEventComm::EventSet &event,
00062                                TAO_EC_ProxyPushConsumer *consumer,
00063                                TAO_EC_Supplier_Filter *filter) = 0;
00064 
00065 };
00066 
00067 TAO_END_VERSIONED_NAMESPACE_DECL
00068 
00069 #include /**/ "ace/post.h"
00070 
00071 #endif /* TAO_EC_SCHEDULING_STRATEGY_H */

Generated on Tue Feb 2 17:44:06 2010 for TAO_RTEvent by  doxygen 1.4.7