aboutsummaryrefslogtreecommitdiff
path: root/doc/structure.dot
blob: da261be4245b760d041edcf0a38f0bce7f64423c (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
// house = application
// circle (default) = service
// box = daemon
// diamond = library
// black line = dependency
// blue line = extension via plugin
// dashed = in planning

digraph dependencies {
splines = true;
  voting [shape=house];
  voting -> consensus;
  voting -> stream;
  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;
  dv -> ats;
  dns -> mesh;
  dns -> tun;
  gns [shape=house];
  gns -> namestore;
  gns -> dns;
  gns -> dht;
  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;
  regex -> block [style=dotted,color=blue];
  block [shape=diamond];
  datacache [shape=diamond];
  mesh -> core [weight=2];
  mesh -> dht;
  mesh -> regex;
  mesh -> block [style=dotted,color=blue];
//  mesh -> ats [style=dashed];
  regex [shape=diamond];
  regex -> dht;
  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 [shape=egg];
  dv -> transport [color=blue,style=dotted];
  dv -> core;
  dv -> consensus;
  consensus -> mesh;
  peerinfo -> hello;
  fragmentation [shape=diamond];
  hello [shape=diamond];
  nat [shape=diamond];
  tun [shape=diamond];


}