blob: d297254b101769a2c603f45484f0938271d30779 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
// house = application
// circle (default) = service
// box = daemon
// diamond = library
// black line = dependency
// blue line = extension via plugin
// dashed = in planning
digraph dependencies {
splines = true;
fs [shape=house];
fs -> dht;
fs -> core;
fs -> datastore;
fs -> stream;
fs -> ats;
fs -> block [style=dotted,color=blue];
exit -> mesh;
exit -> tun;
vpn -> mesh;
vpn -> tun;
pt [shape=house];
pt -> mesh;
pt -> vpn;
pt -> dns;
dns -> mesh;
dns -> tun;
gns [shape=house];
gns -> namestore;
gns -> dns;
gns -> dht;
gns -> stream [style=dashed];
gns -> block [style=dotted,color=blue];
// psycd [style=dashed,shape=house];
// psycd -> mesh [style=dashed];
stream [shape=diamond];
stream -> mesh;
stream -> lockmanager;
dht -> core;
dht -> nse;
dht -> block;
dht -> datacache;
dht -> ats [style=dashed];
nse -> core;
block [shape=diamond];
datacache [shape=diamond];
mesh -> core [weight=2];
mesh -> dht;
mesh -> regex;
mesh -> block [color=blue];
mesh -> ats [style=dashed];
regex [shape=diamond];
core -> transport;
core -> peerinfo;
topology [shape=box];
topology -> transport;
topology -> core;
topology -> hello;
hostlist [shape=box];
hostlist -> core;
hostlist -> peerinfo;
hostlist -> hello;
transport -> ats;
transport -> hello;
transport -> peerinfo;
transport -> nat;
transport -> fragmentation;
dv [style=dashed,shape=egg,layer=core];
dv -> transport [color=blue];
dv -> core;
fs -> ats;
dv -> consensus;
consensus -> dv [style=invis]; // force dv below consensus
consensus -> mesh;
core -> dv [style=invis]; // force dv below core
peerinfo -> hello;
fragmentation [shape=diamond];
hello [shape=diamond];
nat [shape=diamond];
tun [shape=diamond];
subgraph STREAM {
stream; lockmanager;
}
subgraph DHT {
dht; nse; datacache; block;
}
subgraph MESH {
mesh; regex;
}
subgraph TRANSPORT {
transport; dv; peerinfo; hello; nat; ats;
}
subgraph CORE {
core; hostlist; topology;
}
subgraph FS {
fs; datastore;
}
subgraph GNS {
gns; namestore;
}
subgraph VPN {
vpn; pt; exit;
}
}
|