summaryrefslogtreecommitdiff
path: root/CIAO/DAnCE/LocalityManager/Scheduler/Deployment_Scheduler.h
blob: ed76600c310ffb5e4a70923aa452010c890d9213 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/**
 * @file Deployment_Scheduler.h
 * @author William R. Otte <wotte@dre.vanderbilt.edu>
 *
 * $Id$
 * Active-object based scheduler for deployment events. 
 */
#ifndef DEPLOYMENT_SCHEDULER_H
#define DEPLOYMENT_SCHEDULER_H

#include "ace/Task.h"
#include "ace/Activation_Queue.h"
#include "LocalityManager/Scheduler/Deployment_Events.h"

namespace DAnCE
{
  class Deployment_Scheduler_Export Deployment_Scheduler : 
    public ACE_Task_Base
  {
  public:
    /// Schedule an event for execution
    int schedule_event (Deployment_Event *event);
    
    void terminate_scheduler (void);

  protected:
    /// Scheduler event loop
    virtual int svc (void);
    
  private:
    ACE_Activation_Queue event_queue_;
  };
}

#endif