defaulthooks.cpp
来自「一个很棒的网络控制系统仿真软件」· C++ 代码 · 共 73 行
CPP
73 行
#ifndef DEFAULT_HOOKS#define DEFAULT_HOOKS#include "overruntimers.cpp"void default_release(Task *task) { //printf("Release-hook for task '%s' at time %f\n",task->name,rtsys->time); // Create deadline OR-timer if (task->deadlineORhandler != NULL) { if(task->currentJob->absDeadline > rtsys->time) { double time = rtsys->time + task->deadline; createDLTimer(task, time); } else { createDLTimer(task, rtsys->time); } }}void default_start(Task *task) { //printf("Start-hook for task '%s' at time %f\n",task->name,rtsys->time); // Update the last start time for the task task->currentJob->lastStart = rtsys->time; // Create exectime OR-timer if (task->exectimeORhandler != NULL && task->currentJob->budget > EPS) { double time = rtsys->time + task->currentJob->budget; createWCETTimer(task, time); }}void default_suspend(Task* task) { //printf("Suspend-hook for task '%s' at time %f\n",task->name,rtsys->time); // Decrease budget if (task->currentJob) task->currentJob->budget -= (rtsys->time - task->currentJob->lastStart); // Delete exectime OR-timer if it exists removeWCETTimer(task);}void default_resume(Task* task) { //printf("Resume-hook for task '%s' at time %f\n",task->name,rtsys->time); // Update the last start time for the task task->currentJob->lastStart = rtsys->time; // Create exectime OR-timer if (task->exectimeORhandler != NULL && task->currentJob->budget > EPS) { double time = rtsys->time + task->currentJob->budget; createWCETTimer(task, time); }}void default_finish(Task* task) { //printf("Finish-hook for task '%s' at time %f\n",task->name,rtsys->time); // Delete deadline and exectime OR-timers if they exist removeORTimers(task);}#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?