完成了SSTF和SCAN策略的控制函数及流程设计

修复了FCFS策略中连续在同一站的请求处理错误的bug
This commit is contained in:
2022-05-28 22:20:03 +08:00
parent d691021553
commit 4e773ac790
5 changed files with 159 additions and 3 deletions

View File

@@ -30,4 +30,44 @@ int FCFSDirection();
* @return 需要处理的请求
*/
bus_query_t *FCFSQuery();
/**
* 获得在SSTF策略下应该处理的请求
* @return 指向需要处理的请求的指针
*/
bus_query_t *SSTFGetQuery();
/**
* 根据指定的请求获得前进的方向,也就是前往指定的请求最近的方向
* 在SSTF策略中使用
* @param target_query 指定完成的请求
* @return 前进的方向
*/
int SSTFDirection(bus_query_t* target_query);
/**
* 在当前站上可以顺便服务的请求
* @return 服务的请求指针
*/
bus_query_t *SSTFBTWQuery();
/**
* 获得在SCAN策略下应该处理的请求
* @return 指向需要处理的请求的指针
*/
bus_query_t *SCANGetQuery();
/**
* 根据指定的请求获得前进的方向
* 在SCAN策略中使用
* @param target_query 指定完成的请求
* @return 前进的方向
*/
int SCANDirection(bus_query_t *target_query);
/**
* 在当前站上可以顺便服务的请求
* @return 服务的请求指针
*/
bus_query_t *SCANBTWQuery();
#endif //AUTO_PILOT_BUS_CONTROLLER_H

View File

@@ -37,6 +37,7 @@ extern bus_query_t *queries;
* 创建请求链表节点
* @param type 请求的类型
* @param node 请求产生/指向的站点
* @return 当前创建的链表节点地址
*/
bus_query_t *CreateQuery(int type, rail_node_t *node);