// house = application // circle (default) = service // box = daemon // 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 -> identity; voting -> cadet; voting -> secretsharing; secretsharing -> consensus; fs [shape=house]; fs -> dht; fs -> core; fs -> datastore; fs -> cadet; fs -> ats; fs -> block [style=dotted,color=blue]; fs -> identity; exit [shape=box]; exit -> cadet; exit -> tun; exit -> dnsstub; vpn -> cadet; vpn -> regex; vpn -> tun; pt [shape=house]; pt -> cadet; pt -> vpn; pt -> dns; pt -> dnsparser; dv -> ats; dns -> tun; dns -> dnsstub; gns [shape=house]; gns -> namestore; gns -> dns; gns -> dht; gns -> block [style=dotted,color=blue]; 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 -> peerinfo; dht -> hello; nse -> core; regex -> block [style=dotted,color=blue]; block [shape=diamond]; datacache [shape=diamond]; 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; topology [shape=box]; topology -> peerinfo; 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 -> set; consensus -> set; 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]; secushare [shape=house,style=dashed]; multicast [style=dashed]; psyc [style=dashed]; social -> psyc [style=dashed]; social -> gns [style=dashed]; psyc -> psycstore [style=dashed]; psycstore; social [style=dashed]; secushare -> social [style=dashed]; secushare -> identity [style=dashed]; psyc -> multicast [style=dashed]; multicast -> cadet [style=dashed]; reuters [shape=house,style=dashed]; reuters -> scalarproduct [style=dashed]; rps [style=dashed]; topology -> rps [style=dashed]; rps -> core [style=dashed]; } // this is what we have, excluding libs and stores 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 -> 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 -> dns; gns -> dht; gns -> revocation; gns -> vpn; gns -> identity; revocation -> core; revocation -> set; dht -> core; dht -> nse; 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 -> transport; topology -> core; hostlist [shape=box]; hostlist -> core; transport -> ats; dv [shape=egg]; dv -> transport [color=blue,style=dotted]; dv -> core; dv -> set; consensus -> set; consensus -> cadet; scalarproduct -> set; scalarproduct -> cadet; set -> cadet; secushare [shape=house,style=dashed]; multicast [style=dashed]; psyc [style=dashed]; social -> psyc [style=dashed]; social -> gns [style=dashed]; social [style=dashed]; secushare -> social [style=dashed]; secushare -> identity [style=dashed]; psyc -> multicast [style=dashed]; multicast -> cadet [style=dashed]; reuters [shape=house,style=dashed]; reuters -> scalarproduct [style=dashed]; rps [style=dashed]; topology -> rps [style=dashed]; rps -> core [style=dashed]; } // this is what we have, excluding and details digraph dependencies_no_details { splines = true; voting [shape=house]; voting -> consensus; voting -> cadet; voting -> secretsharing; secretsharing -> consensus; fs [shape=house]; fs -> dht; fs -> core; fs -> cadet; vpn -> cadet; vpn -> dht; pt [shape=house]; pt -> cadet; pt -> vpn; gns [shape=house]; gns -> dht; gns -> revocation; gns -> vpn; revocation -> core; revocation -> set; dht -> core; dht -> nse; nse -> core; cadet -> core [weight=2]; cadet -> dht; conversation [shape=house]; conversation -> cadet; conversation -> gns; core -> transport; consensus -> set; consensus -> cadet; scalarproduct -> set; scalarproduct -> cadet; set -> cadet; secushare [shape=house,style=dashed]; multicast [style=dashed]; psyc [style=dashed]; social -> psyc [style=dashed]; social -> gns [style=dashed]; social [style=dashed]; secushare -> social [style=dashed]; psyc -> multicast [style=dashed]; multicast -> cadet [style=dashed]; reuters [shape=house,style=dashed]; reuters -> scalarproduct [style=dashed]; }