aboutsummaryrefslogtreecommitdiff
path: root/doc/handbook/images/structure.dot
blob: a53db90b8097b282cabd6909fcb80a3e9cf08baf (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
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
// 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 dependencies {
splines = true;

  voting [shape=house];
  voting -> consensus;
  voting -> identity;
  voting -> cadet;
  voting -> secretsharing;
  secretsharing -> consensus;

  fs [shape=house];
  fs -> dht;
  fs -> core;
  fs -> datastore;
  fs -> cadet;
  fs -> ats;
  fs -> block [style=dotted,color=blue];
  fs -> identity;
  exit [shape=box];
  exit -> cadet;
  exit -> tun;
  exit -> dnsstub;
  vpn -> cadet;
  vpn -> regex;
  vpn -> tun;
  pt [shape=house];
  pt -> cadet;
  pt -> vpn;
  pt -> dns;
  pt -> dnsparser;
  dns -> tun;
  dns -> dnsstub;
  zonemaster [shape=house];
  zonemaster -> namestore;
  zonemaster -> dht;
  gns -> dns;
  gns -> dht;
  gns -> block [style=dotted,color=blue];
  gns -> revocation;
  gns -> vpn;
  gns -> dnsparser;
  gns -> dnsstub;
  gns -> identity;
  revocation -> core;
  revocation -> set;
  namestore -> identity;
  namestore -> gnsrecord;
  dnsparser -> gnsrecord [style=dotted,color=blue];
  conversation -> gnsrecord [style=dotted,color=blue];
  gns -> gnsrecord;
  dht -> core;
  dht -> nse;
  dht -> block;
  dht -> datacache;
  dht -> peerinfo;
  dht -> hello;
  nse -> core;
  regex -> block [style=dotted,color=blue];
  block [shape=diamond];
  datacache [shape=diamond];
  cadet -> core [weight=2];
  cadet -> dht;
  cadet -> block [style=dotted,color=blue];
  conversation [shape=house];
  conversation -> cadet;
  conversation -> gns;
  conversation -> speaker;
  conversation -> microphone;
  speaker [shape=diamond];
  microphone [shape=diamond];
  regex -> dht;
  core -> transport;
  topology [shape=box];
  topology -> peerinfo;
  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;
  consensus -> set;
  consensus -> cadet;
  scalarproduct -> set;
  scalarproduct -> cadet;
  set -> cadet;
  peerinfo -> hello;
  fragmentation [shape=diamond];
  hello [shape=diamond];
  nat [shape=diamond];
  tun [shape=diamond];
  dnsparser [shape=diamond];
  dnsstub [shape=diamond];

  secushare [shape=house];
  multicast;
  psyc;
  social -> psyc;
  social -> gns;
  psyc -> psycstore;
  psycstore;
  social;
  secushare -> social;
  psyc -> multicast;
  multicast -> cadet;

  rps;
  rps -> core;
}