Skip to content

Instantly share code, notes, and snippets.

@rishabhmaurya
Last active June 26, 2025 19:50
Show Gist options
  • Save rishabhmaurya/afd87818b93159483f7be46867a2f4eb to your computer and use it in GitHub Desktop.
Save rishabhmaurya/afd87818b93159483f7be46867a2f4eb to your computer and use it in GitHub Desktop.
@startuml
title Outbound Client: Netty4 vs. Flight
skinparam defaultFontSize 14
skinparam ParticipantPadding 20
' Netty4 Flow (Light Blue)
actor Client
participant "TransportService" as TS #lightblue
participant "ConnectionManager" as CM #lightblue
participant "Connection" as C #lightblue
participant "TcpChannel\n(Netty4TcpChannel)" as TC #lightblue
participant "NativeOutboundHandler" as NOH #lightblue
participant "Network" as N #lightblue
Client -> TS: Send TransportRequest
TS -> TS: Generate reqID
TS -> CM: Get Connection
CM -> C: Provide Connection
C -> TC: Use Channel
TC -> NOH: Serialize to BytesReference\n(StreamOutput) with reqID
NOH -> N: Send BytesReference
note right of N: Netty4 Flow
' Separator
' Flight Flow (Light Yellow for modified, Light Coral for new)
actor Client2
participant "StreamTransportService" as STS #lightyellow
participant "ConnectionManager" as CM2 #lightblue
participant "Connection" as C2 #lightblue
participant "FlightTcpChannel" as FTC #lightcoral
participant "FlightMessageHandler" as FMH #lightcoral
participant "FlightClientChannel" as FC #lightcoral
participant "Network" as N2 #lightblue
Client2 -> STS: Send TransportRequest
STS -> STS: Generate reqID
STS -> CM2: Get Connection
CM2 -> C2: Provide Connection
C2 -> FTC: Use Channel
FTC -> FMH: Serialize to Flight Ticket\n(ArrowStreamOutput) with reqID
FMH -> FC: Send Flight Ticket
FC -> N2: Transmit Request
note right of N2: Flight Flow
@enduml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment