d988490b8eb95c30985bda2191ca10388c62d24c
[oweals/gnunet.git] / doc / structure.dot
1 // house = application
2 // circle (default) = service
3 // box = daemon
4 // diamond = library
5 // black line = dependency
6 // blue line = extension via plugin
7 // dashed = in planning
8
9 digraph dependencies {
10 splines = true;
11   voting [shape=house];
12   voting -> consensus;
13   voting -> mesh;
14   fs [shape=house];
15   fs -> dht;
16   fs -> core;
17   fs -> datastore;
18   fs -> mesh;
19   fs -> ats;
20   fs -> block [style=dotted,color=blue];
21   exit -> mesh;
22   exit -> tun;
23   vpn -> mesh;
24   vpn -> tun;
25   pt [shape=house];
26   pt -> mesh;
27   pt -> vpn;
28   pt -> dns;
29   dv -> ats;
30   dns -> mesh;
31   dns -> tun;
32   gns [shape=house];
33   gns -> namestore;
34   gns -> dns;
35   gns -> dht;
36   gns -> block [style=dotted,color=blue];
37 //  psycd [style=dashed,shape=house];
38 //  psycd -> mesh [style=dashed];
39   dht -> core;
40   dht -> nse;
41   dht -> block;
42   dht -> datacache;
43 //  dht -> ats [style=dashed];
44   nse -> core;
45   regex -> block [style=dotted,color=blue];
46   block [shape=diamond];
47   datacache [shape=diamond];
48   mesh -> core [weight=2];
49   mesh -> dht;
50   mesh -> regex;
51   mesh -> block [style=dotted,color=blue];
52 //  mesh -> ats [style=dashed];
53   regex -> dht;
54   core -> transport;
55   core -> peerinfo;
56   topology [shape=box];
57   topology -> transport;
58   topology -> core;
59   topology -> hello;
60   hostlist [shape=box];
61   hostlist -> core;
62   hostlist -> peerinfo;
63   hostlist -> hello;
64   transport -> ats;
65   transport -> hello;     
66   transport -> peerinfo;
67   transport -> nat;
68   transport -> fragmentation;
69   dv [shape=egg];
70   dv -> transport [color=blue,style=dotted];
71   dv -> core;
72   dv -> set;
73   consensus -> set;
74   set -> mesh;
75   peerinfo -> hello;
76   fragmentation [shape=diamond];
77   hello [shape=diamond];
78   nat [shape=diamond];
79   tun [shape=diamond];
80
81
82 }