missing check
[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 // red line = possibly useful 
8 // dashed = in planning
9
10 // this is what we have...o
11 digraph dependencies {
12 splines = true;
13
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 [shape=box];
22   exit -> mesh;
23   exit -> tun;
24   vpn -> mesh;
25   vpn -> regex;
26   vpn -> tun;
27   pt [shape=house];
28   pt -> mesh;
29   pt -> vpn;
30   pt -> dns;
31   dv -> ats;
32   dns -> tun;
33   gns [shape=house];
34   gns -> namestore;
35   gns -> dns;
36   gns -> dht;
37   gns -> block [style=dotted,color=blue];
38   dht -> core;
39   dht -> nse;
40   dht -> block;
41   dht -> datacache;
42   dht -> peerinfo;
43   dht -> hello;
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 -> block [style=dotted,color=blue];
51   regex -> dht;
52   core -> transport;
53   topology [shape=box];
54   topology -> peerinfo;
55   topology -> transport;
56   topology -> core;
57   topology -> hello;
58   hostlist [shape=box];
59   hostlist -> core;
60   hostlist -> peerinfo;
61   hostlist -> hello;
62   transport -> ats;
63   transport -> hello;     
64   transport -> peerinfo;
65   transport -> nat;
66   transport -> fragmentation;
67   dv [shape=egg];
68   dv -> transport [color=blue,style=dotted];
69   dv -> core;
70   dv -> set;
71   consensus -> set;
72   consensus -> mesh;
73   set -> mesh;
74   peerinfo -> hello;
75   fragmentation [shape=diamond];
76   hello [shape=diamond];
77   nat [shape=diamond];
78   tun [shape=diamond];
79
80
81 }
82
83 // this is what might happen...
84 digraph plan {
85 splines = true;
86
87 // // secushare roadmap:
88   secushare [shape=house,style=dashed];
89   psyc [style=dashed];
90   secushare -> psyc [style=dashed];
91   secushare -> voting [style=dashed,color=red];
92   secushare -> gns [style=dashed];
93   secushare -> fs [style=dashed,color=red];
94   secushare -> reuters [style=dashed,color=red];
95   secushare -> messaging [style=dashed,color=red];
96   psyc -> multicast [style=dashed];
97
98 // // voting roadmap:
99   voting [shape=house,style=dashed];
100   voting -> consensus [style=dashed];
101   voting -> mesh [style=dashed,color=red];
102
103 // // reuters roadmap:
104   reuters [shape=house,style=dashed];
105   dotproduct [style=dashed];
106   reuters -> dotproduct [style=dashed];
107   dotproduct -> set [style=dashed];
108   dotproduct -> mesh [style=dashed];
109   messaging [style=dashed];  
110   messaging -> regex [style=dashed];
111   messaging -> mesh [style=dashed];
112   messaging -> dht [style=dashed];
113   reuters -> messaging [style=dashed,color=red];
114   reuters -> multicast [style=dashed,color=red];
115   reuters -> mesh [style=dashed,color=red];
116   reuters -> core [style=dashed,color=red];
117
118
119 // // core roadmap:
120   dht -> ats [style=dashed,color=red];
121   mesh -> ats [style=dashed,color=red];
122   vpn -> multicast [style=dashed,color=red];
123   exit -> multicast [style=dashed,color=red];
124   multicast [style=dashed];
125   multicast -> mesh [style=dashed];
126
127   fs [shape=house];
128   gns [shape=house];
129   exit [shape=box];
130 }