From 9d625502f23c407c987172f5a073bc1ce4d53f07 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 18 May 2012 05:35:23 +0000 Subject: -code structure --- doc/structure.dot | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 doc/structure.dot (limited to 'doc/structure.dot') diff --git a/doc/structure.dot b/doc/structure.dot new file mode 100644 index 000000000..d3b2c0cc9 --- /dev/null +++ b/doc/structure.dot @@ -0,0 +1,104 @@ +// house = application +// circle (default) = service +// box = daemon +// diamond = library +// black line = dependency +// blue line = extension via plugin +// dashed = in planning + +digraph dependencies { +splines = true; + + fs [shape=house]; + fs -> dht; + fs -> core; + fs -> datastore; + fs -> stream [style=dashed]; + fs -> ats [style=dashed]; + fs -> block [stlye=dotted,color=blue]; + exit -> mesh; + exit -> tun; + vpn -> mesh; + vpn -> tun; + pt [shape=house]; + pt -> mesh; + pt -> vpn; + pt -> dns; + dns -> mesh; + dns -> tun; + gns [shape=house]; + gns -> namestore; + gns -> dns; + gns -> dht; + gns -> stream [style=dashed]; + 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; + block [shape=diamond]; + datacache [shape=diamond]; + mesh -> core [weight=2]; + mesh -> dht; + mesh -> regex; + mesh -> block [stlye=dashed,color=blue]; + mesh -> ats [style=dashed]; + regex [shape=diamond]; + 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 [style=dashed,shape=egg,layer=core]; + dv -> transport [style=dashed,color=blue]; + dv -> core [style=dashed]; + core -> dv [style=invis]; // force dv below core + peerinfo -> hello; + fragmentation [shape=diamond]; + hello [shape=diamond]; + nat [shape=diamond]; + tun [shape=diamond]; + + subgraph STREAM { + stream; lockmanager; + } + subgraph DHT { + dht; nse; datacache; block; + } + subgraph MESH { + mesh; regex; + } + subgraph TRANSPORT { + transport; dv; peerinfo; hello; nat; ats; + } + subgraph CORE { + core; hostlist; topology; + } + subgraph FS { + fs; datastore; + } + subgraph GNS { + gns; namestore; + } + subgraph VPN { + vpn; pt; exit; + } + +} -- cgit v1.2.3