1 + bin
2 + contrib
3 + data
4 + doc
5 + docroot
6 + docroot_node
7 + ebin
8 + include
9 + java - api
10 + log
11 + src
12 + test
13 + user - dev - guide
14 AUTHORS
15 bootstrap.sh
16 build.bat
17 configure
18 configure.ac
19 distr - archive.sh
20 Emakefile. in
21 LICENSE
22 Makefile. in
23 README
24 VERSION
2 + contrib
3 + data
4 + doc
5 + docroot
6 + docroot_node
7 + ebin
8 + include
9 + java - api
10 + log
11 + src
12 + test
13 + user - dev - guide
14 AUTHORS
15 bootstrap.sh
16 build.bat
17 configure
18 configure.ac
19 distr - archive.sh
20 Emakefile. in
21 LICENSE
22 Makefile. in
23 README
24 VERSION
1 + src目录
2 启动顺序为boot.erl -> 加载bin / boot_cs.app -> boot_app -> process_dictionary和boot_sup
3 boot_sup启动了Config,Logger, % Tracer,CommPort, FailureDetector, AdminServer, %XMLRPC, Node,YAWS, BenchServer, CSNode
2 启动顺序为boot.erl -> 加载bin / boot_cs.app -> boot_app -> process_dictionary和boot_sup
3 boot_sup启动了Config,Logger, % Tracer,CommPort, FailureDetector, AdminServer, %XMLRPC, Node,YAWS, BenchServer, CSNode
1 node.erl
1 cs_state.erl
2 Chord算法中每个node需要保存的记录,
3 prenode, nextnode, 和finger table
4 -record(state, {routingtable, successor, predecessor, me, my_range, lb, deadnodes, join_time, trans_log, db}).
5 这个文件提供了对state记录访问的api
2 Chord算法中每个node需要保存的记录,
3 prenode, nextnode, 和finger table
4 -record(state, {routingtable, successor, predecessor, me, my_range, lb, deadnodes, join_time, trans_log, db}).
5 这个文件提供了对state记录访问的api
1 db_ets.erl
2 chord节点的数据库
3 每条记录的格式为{Key, {Value, WriteLock, ReadLock, Version}}
4 WriteLock = true | false
5 ReadLock = integer()
2 chord节点的数据库
3 每条记录的格式为{Key, {Value, WriteLock, ReadLock, Version}}
4 WriteLock = true | false
5 ReadLock = integer()