Visualization of In/OutboundIn/Out and Handlers

Hi all,

Would this be an accurate representation of InboundIn, InboundOut, OutboundIn, and OutboundOut as it relates to passing data around?

+--------------------------------+
|         Kernel Socket          |
+--------------------------------+
       |                  ^
       |                  |
       |                  |
       |                  |
       v                  |
  [InboundIn]       [OutboundOut]
+-------------+    +-------------+
| Passthrough |    | Passthrough |
|   Handler   |    |   Handler   |
+-------------+    +-------------+
 [InboundOut]        [OutboundIn]
       |                  ^
       |                  |
       |                  |
       |                  |
       v                  |
  [InboundIn]       [OutboundOut]
+--------------------------------+
|         Hybrid Handler         |
+--------------------------------+
 [InboundOut]        [OutboundIn]
       |                  ^
       |                  |
       |                  |
       |                  |
       v                  |
  [InboundIn]       [OutboundOut]
+--------------------------------+
|      Terminating Handler       |
+--------------------------------+
1 Like

Additionally, with annotations on the context method calls and the protocol method invocations:

+-------------------------------------------+
|                Kernel Socket              |
+-------------------------------------------+
       |                             ^
       |                             |
       |                             |
       |                             |
       v                             |
  [InboundIn]                  [OutboundOut]
 channelRead()                context.write()
+-------------+               +-------------+
| Passthrough |               | Passthrough |
|   Handler   |               |   Handler   |
+-------------+               +-------------+
context.fireChannelRead()         write()
 [InboundOut]                  [OutboundIn]
       |                             ^
       |                             |
       |                             |
       |                             |
       v                             |
  [InboundIn]                  [OutboundOut]
 channelRead()                context.write()
+-------------------------------------------+
|         Hybrid Handler                    |
+-------------------------------------------+
context.fireChannelRead()         write()
 [InboundOut]                  [OutboundIn]
       |                             ^
       |                             |
       |                             |
       |                             |
       v                             |
  [InboundIn]                  [OutboundOut]
 channelRead()                context.write()
+-------------------------------------------+
|             Terminating Handler           |
+-------------------------------------------+
3 Likes

Yup, this looks right!

Terms of Service

Privacy Policy

Cookie Policy