view TaskManager/Fifo/FifoTaskManagerImpl.h @ 640:a909c50081c2

SimpeTask on Cell worked.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 20 Nov 2009 23:12:34 +0900
parents 5530fa36d42e
children 7c9ded1ea750
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;  // activeTask であるべきなんじゃないの?

    MailManager *mailManager;
    MainScheduler *mainScheduler;

    /* 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, HTaskInfo *waitQueue);
    TaskListPtr get_runTaskList(void);
    MailQueuePtr schedule(TaskListPtr);

    // call by user
    int add_data(ListDataPtr, uint32, int);
#if 0
    void* allocate(int size,int align);
    void* allocate(int size);
    Scheduler* get_scheduler();
#endif
};


#endif /* INCLUDED_FIFO_TASK_MANAGER_IMPL */