Contents (click to collapse) >>

braft call graph

This is the call graph of braft, an industrial grade raft implementation, which may help you understand braft better, I guess.

I made it several months ago with dot-lang (graphviz), and build the svg with my graphviz plugin, the nodes are clickable.

I also have made call graphs of other projects such as thrift, brpc and etc.. They will be posted when I have time to eliminate the parts that are not proper for publication.


  • each enclosed shape is called a node
    • ellipse for procedure
    • square for note/comment
  • solid arrow for “sync” call/procedure
  • dash connection or dash arrow for “async” call/procedure or something that is indirectly associated, e.g., background thread, queue of a thread pool
  • number on the connection means process sequence
  • element in red color means important

(click this image to get svg view with interaction)

Clock And Timestamp

1 Preface这篇文章总结了几个分布式数据库系统中常用的时钟算法, 主要包括: 中心授时服务,Google True Time, NTP, Logical clock, HLC.花了比较大篇幅描述HLC的算法实现以及它的优缺点.2 Why do we need cloc...… Continue reading

memory ordering

Published on April 30, 2019

list initialization and std::initializer_list

Published on March 09, 2019