From 175f0438191e72b134acf111e6edff4f0db36535 Mon Sep 17 00:00:00 2001 From: zzz Date: Mon, 10 Jan 2022 08:57:01 -0500 Subject: [PATCH] javadoc: Add message flow chart --- router/java/src/net/i2p/router/package.html | 37 +++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/router/java/src/net/i2p/router/package.html b/router/java/src/net/i2p/router/package.html index dc610cc0c..550d225cf 100644 --- a/router/java/src/net/i2p/router/package.html +++ b/router/java/src/net/i2p/router/package.html @@ -14,5 +14,42 @@ Subject to change. Not necessarily maintained as a stable API. For applications bundling the I2P router, instantiate Router and call runRouter(), or use Router.main() or RouterLaunch. Most public methods in Router are maintained as a stable I2P for those bundling the router.

+

+Message flow: +

+
+
+                                                                                                                              NTCP2
+                                                                                                                              Per-Conn
+
+                                                                                                                                /--- Pri Queue )
+NTCP2                                                                                                                          /        .      )                                                                      NTCP2
+                                                                                                                              /         .      )
+kernel -> NIO -> Reader -------------------------\                                                                           /          .      ) ---------------------------------------                       -- Writer -> NIO -> Kernel
+                                                  \                                 Tunnels                                 /           .      )                                        \                     /
+                                                   \                                                                       /            .      )                                         \                   /
+                                                    \                      /-- RED - Codel/Pri - Frag - \                 /             .      )                                          \                 /
+                                                     \              IBGW  /          Queue               \               /                                                                 \               /
+                                                      \                  /                                \             /                                                                   \             /
+                                                       \                /                                  \           /                                                                     \           /
+                                                        \              /  Middle hop                        \         /                                                                        Bandwidth
+                                                         -> In Net --------------------- RED ------------------Out Net                                                                         Limiter
+                                                        /   Msg Pool   \                                   /   Msg Pool                                                                      /           \
+                                                       /                \                                 /            \                                                                    /             \
+                                                      /                  \                               /              \                                                                  /               \
+SSU                                                  /              OBEP  \                             /                \                                                                /                 \
+                                                    /                      \                           /                  \                                                              /                   \
+kernel -> Reader -> Codel -----------------> Codel -                        --------------------- RED -                    \                                                            /                     \
+                    Queue \              /   Queue                            \              /                              \       SSU                                                /                       \
+                           \            /                                      \            /                                \      Per-Conn                                          /                         \
+                             Reasssembly                                         Reasssembly                                  \                                                      /                           \
+                                                                                                                               \--> Pri Queue -> Frag -> Window/ )                  /                             \
+                                                                                                                                                         ReTX    )                 /                               \     SSU
+                                                                                                                                               .                 )                /                                 \
+                                                                                                                                               .                 ) - OMF - Codel -                                   - Writer -> Kernel
+                                                                                                                                               .                 )         Queue
+                                                                                                                                               .                 )
+                                                                                                                                               .                 )
+