view include/TaskManager/FifoTaskManagerImpl.h @ 349:bd0cc480a60a draft

fix hash_regist
author admin@mcbk.cr.ie.u-ryukyu.ac.jp
date Fri, 10 Jul 2009 16:06:15 +0900
parents 3fc86ddf5d1c
children
line wrap: on
line source

#ifndef INCLUDED_FIFO_TASK_MANAGER_IMPL
#define INCLUDED_FIFO_TASK_MANAGER_IMPL

#include "TaskManagerImpl.h"
#include "MainScheduler.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*, BufferManager*);
    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);
};

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

#endif /* INCLUDED_FIFO_TASK_MANAGER_IMPL */