view TaskManager/Fifo/FifoTaskManagerImpl.h @ 475:e083c4ff91c1

BufferManager removed.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 04 Oct 2009 11:29:50 +0900
parents eab18aa0c7f6
children 5bda98b0b56d
line wrap: on
line source

#ifndef INCLUDED_FIFO_TASK_MANAGER_IMPL
#define INCLUDED_FIFO_TASK_MANAGER_IMPL

#include "TaskManagerImpl.h"
#include "MainScheduler.h"
#include "Scheduler.h"

class FifoTaskManagerImpl : public TaskManagerImpl {
public:
    /* constructor */
    FifoTaskManagerImpl(int num = 1) : TaskManagerImpl(num) {}
    ~FifoTaskManagerImpl(void);

    /* variables */
    int machineNum;
    TaskListPtr mainTaskList;

    MailManager *mailManager;
    MainScheduler *scheduler;

    /* functions */
    // call by system
    void init(void);
    void init(MainScheduler*, TaskManagerImpl*);
    void run(void);
    void mail_check(MailQueuePtr mail_list);
    void mail_check(MailQueuePtr mail_list, TaskQueuePtr *waitQueue);
    TaskListPtr get_runTaskList(void);
    MailQueuePtr schedule(TaskListPtr);

    // call by user
    int add_data(ListDataPtr, uint32, int);
    void* allocate(int size);
    Scheduler* get_scheduler();
};

#ifndef Cerium_malloc
#define Cerium_malloc(dest, align, size) \
    *dest = malloc(size);
#endif /* Cerium_malloc */

#endif /* INCLUDED_FIFO_TASK_MANAGER_IMPL */