X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=doc%2Fstructure.dot;h=a8493b8a76016bc2f7de3247b4d3e5fc72d57fbf;hb=cea95af17bb3bfaf65224d0ecd2db2308e333764;hp=d988490b8eb95c30985bda2191ca10388c62d24c;hpb=eb9f75cf04f449f04713af6584ccae9e42b49eb2;p=oweals%2Fgnunet.git diff --git a/doc/structure.dot b/doc/structure.dot index d988490b8..a8493b8a7 100644 --- a/doc/structure.dot +++ b/doc/structure.dot @@ -4,56 +4,85 @@ // 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 -> mesh; + voting -> identity; + voting -> cadet; + voting -> secretsharing; + secretsharing -> consensus; + fs [shape=house]; fs -> dht; fs -> core; fs -> datastore; - fs -> mesh; + fs -> cadet; fs -> ats; fs -> block [style=dotted,color=blue]; - exit -> mesh; + fs -> identity; + exit [shape=box]; + exit -> cadet; exit -> tun; - vpn -> mesh; + exit -> dnsstub; + vpn -> cadet; + vpn -> regex; vpn -> tun; pt [shape=house]; - pt -> mesh; + pt -> cadet; pt -> vpn; pt -> dns; + pt -> dnsparser; dv -> ats; - dns -> mesh; dns -> tun; + dns -> dnsstub; gns [shape=house]; gns -> namestore; gns -> dns; gns -> dht; gns -> block [style=dotted,color=blue]; -// psycd [style=dashed,shape=house]; -// psycd -> mesh [style=dashed]; + 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 [style=dotted,color=blue]; dht -> core; dht -> nse; dht -> block; dht -> datacache; -// dht -> ats [style=dashed]; + dht -> peerinfo; + dht -> hello; 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]; + cadet -> core [weight=2]; + cadet -> dht; + cadet -> block [style=dotted,color=blue]; + conversation [shape=house]; + conversation -> cadet; + conversation -> gns; + conversation -> identity; + conversation -> speaker; + conversation -> microphone; + speaker [shape=diamond]; + microphone [shape=diamond]; regex -> dht; core -> transport; - core -> peerinfo; topology [shape=box]; + topology -> peerinfo; topology -> transport; topology -> core; topology -> hello; @@ -62,7 +91,7 @@ splines = true; hostlist -> peerinfo; hostlist -> hello; transport -> ats; - transport -> hello; + transport -> hello; transport -> peerinfo; transport -> nat; transport -> fragmentation; @@ -71,12 +100,139 @@ splines = true; dv -> core; dv -> set; consensus -> set; - set -> mesh; + 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]; +} + + +// this is what we have, excluding libs +digraph dependencies_no_libs { +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 -> identity; + exit [shape=box]; + exit -> cadet; + vpn -> cadet; + vpn -> regex; + pt [shape=house]; + pt -> cadet; + pt -> vpn; + pt -> dns; + dv -> ats; + gns [shape=house]; + gns -> namestore; + gns -> dns; + gns -> dht; + gns -> revocation; + gns -> vpn; + gns -> identity; + gns -> gnsrecord; + revocation -> core; + revocation -> set; + namestore -> identity; + dht -> core; + dht -> nse; + dht -> peerinfo; + nse -> core; + cadet -> core [weight=2]; + cadet -> dht; + conversation [shape=house]; + conversation -> cadet; + conversation -> gns; + conversation -> identity; + regex -> dht; + core -> transport; + topology [shape=box]; + topology -> peerinfo; + topology -> transport; + topology -> core; + hostlist [shape=box]; + hostlist -> core; + hostlist -> peerinfo; + transport -> ats; + transport -> peerinfo; + dv [shape=egg]; + dv -> transport [color=blue,style=dotted]; + dv -> core; + dv -> set; + consensus -> set; + consensus -> cadet; + scalarproduct -> set; + scalarproduct -> cadet; + set -> cadet; +} + + +// this is what might happen... +digraph plan { +splines = true; + +// // secushare roadmap: + secushare [shape=house,style=dashed]; + psyc [style=dashed]; + social -> psyc [style=dashed]; + psyc -> psycstore [style=dashed]; + psycstore; + social [style=dashed]; + secushare -> social [style=dashed]; + secushare -> voting [style=dashed,color=red]; + secushare -> gns [style=dashed]; + secushare -> fs [style=dashed,color=red]; + secushare -> reuters [style=dashed,color=red]; + secushare -> identity [style=dashed,color=red]; + secushare -> messaging [style=dashed,color=red]; + secushare -> conversation [style=dashed,color=red]; + psyc -> multicast [style=dashed]; + +// // reuters roadmap: + reuters [shape=house,style=dashed]; + scalarproduct [style=dashed]; + reuters -> scalarproduct [style=dashed]; + reuters -> identity [style=dashed]; + scalarproduct -> set [style=dashed]; + scalarproduct -> cadet [style=dashed]; + messaging [style=dashed]; + messaging -> regex [style=dashed]; + messaging -> cadet [style=dashed]; + messaging -> dht [style=dashed]; + reuters -> messaging [style=dashed,color=red]; + reuters -> multicast [style=dashed,color=red]; + reuters -> cadet [style=dashed,color=red]; + reuters -> core [style=dashed,color=red]; +// // core roadmap: + dht -> ats [style=dashed,color=red]; + cadet -> ats [style=dashed,color=red]; + vpn -> multicast [style=dashed,color=red]; + exit -> multicast [style=dashed,color=red]; + multicast [style=dashed]; + multicast -> cadet [style=dashed]; + + fs [shape=house]; + gns [shape=house]; + conversation [shape=house]; + exit [shape=box]; }