blob: 14e72ee0453f739e99d8646835a94b98945f1856 (
plain) (
blame)
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
|
// house = application
// circle (default) = service
// box = daemon
// diamond = library
// black line = dependency
// blue line = extension via plugin
// red line = possibly useful
// dashed = in planning
// this is what we have...o
digraph tng {
// splines = true;
compound=true;
subgraph cluster0 {
label="Our peer";
style=dashed;
color=black;
subgraph cluster1 {
style=solid;
color=black;
tcp;
udp;
others [style=dotted];
label="Communicators";
}
subgraph cluster2 {
style=solid;
color=black;
dht;
fs;
cadet;
label="Applications";
}
cadet -> core [ltail=cluster2,label="Communicate with peers"];
dht -> transport [ltail=cluster2,label="Suggest connection to peer"];
core -> transport [label="Send/receive messages via secure channel"];
transport -> tcp [lhead=cluster1,dir=both,label="Offer connectivity/channel to other peer"];
udp -> nat [label="Get addresses"];
tcp -> nat;
}
subgraph cluster3 {
rank = sink;
style=dashed;
color=black;
peer3;
peer1;
peer2;
label="Other peers";
}
tcp -> peer1 [dir=both];
udp -> peer2;
transport->peer1 [style=invis];
}
|