Closed TiNnNnnn closed 7 months ago
@TiNnNnnn 统一代码风,方便后续的开发。 相关issue已经完成,代码格式化的方法为:
cd cmake-build-debug
rm -rf *
cmake ..
make format
应该可以看到如下输出:
➜ cmake-build-debug git:(format) ✗ make format
format done!
Built target format
https://github.com/youngyangyang04/KVstorageBaseRaft-cpp/issues/31
已经将协程库整合进入项目中,并将raft库中所有使用线程的地方替换为协程。
当前协程库为非对称式协程库,默认情况下,一个raft实例中存在两个线程 ,主线程作为caller thread, 子线程进行调度任务的执行,相较于之前减少了2个线程。 用户可以通过修改common/config.h文件来修改配置。
关于协程调度时间问题,经过简单的测试,并没有发现因为心跳任务处理延迟过大而导致的频繁选举问题。后续会通过测量心跳任务调度处理时间,来准确分析。
关于sleep唤醒时间问题,可以保证当sleep内注册的定时器到达时间后,立即触发epoll_wait退出,并进行调度处理。由于时间轮定时器,以及epoll,raft的超时时间均是ms级别,因此,可以保证触发的立即性。
一些问题: