summaryrefslogtreecommitdiff
path: root/doc/handbook/images/tng.dot
diff options
context:
space:
mode:
Diffstat (limited to 'doc/handbook/images/tng.dot')
-rw-r--r--doc/handbook/images/tng.dot55
1 files changed, 55 insertions, 0 deletions
diff --git a/doc/handbook/images/tng.dot b/doc/handbook/images/tng.dot
new file mode 100644
index 000000000..14e72ee04
--- /dev/null
+++ b/doc/handbook/images/tng.dot
@@ -0,0 +1,55 @@
+// 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 tng {
+ // splines = true;
+ compound=true;
+ subgraph cluster0 {
+ label="Our peer";
+ style=dashed;
+ color=black;
+ subgraph cluster1 {
+ style=solid;
+ color=black;
+ tcp;
+ udp;
+ others [style=dotted];
+ label="Communicators";
+ }
+ subgraph cluster2 {
+ style=solid;
+ color=black;
+ dht;
+ fs;
+ cadet;
+ label="Applications";
+ }
+ cadet -> core [ltail=cluster2,label="Communicate with peers"];
+ dht -> transport [ltail=cluster2,label="Suggest connection to peer"];
+ core -> transport [label="Send/receive messages via secure channel"];
+ transport -> tcp [lhead=cluster1,dir=both,label="Offer connectivity/channel to other peer"];
+ udp -> nat [label="Get addresses"];
+ tcp -> nat;
+ }
+ subgraph cluster3 {
+ rank = sink;
+ style=dashed;
+ color=black;
+ peer3;
+ peer1;
+ peer2;
+ label="Other peers";
+ }
+
+
+ tcp -> peer1 [dir=both];
+ udp -> peer2;
+ transport->peer1 [style=invis];
+}