摘要: 1.概述 delayed_task在cornerstone中充当一个base类,其延伸出的子类timer_task才是cornerstone用于实现定时器的类。 而scheduler是用于实现延时效果的调度器。 我们将按照delayed_task->timer_task->scheduler的顺序解 阅读全文
posted @ 2024-11-20 22:01 TomGeller 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 1.概述 cornerstone中msg主要为resp_msg,req_msg类型。其中涉及到了oop中代码复用与封装、继承等优秀的设计思想,值得解析。 2.msg_base代码分析 class msg_base { private: ulong term_; msg_type type_; int 阅读全文
posted @ 2024-11-20 17:30 TomGeller 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 1.概述 asio_service是cornerstone中实现各种服务的工具,rpc通信属于其中的一部分,rpc通信主要由三个部分组成: asio_rpc_client,asio_rpc_listener,asio_rpc_session 。 cornerstone中的rpc并没有采用protob 阅读全文
posted @ 2024-10-31 17:23 TomGeller 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 1.概览: 谈到raft协议实现就绕不开网上流行的mit6.824,但其为go语言,官方没有lab的答案,框架也很晦涩难懂,且全网没有一个博客对其有清晰的解释,有的只是甩一堆名词然后直接贴没有任何注释的代码,非常不适合学习。 但是github上面的cornerstone是纯c++实现的一个非常优雅且 阅读全文
posted @ 2024-10-17 18:04 TomGeller 阅读(138) 评论(0) 推荐(1) 编辑