handlePathEvents() — netty Function Reference
Architecture documentation for the handlePathEvents() function in QuicheQuicChannel.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD e06a1624_97e7_719b_83f4_41463045636c["handlePathEvents()"] 981bac79_4fa5_9e57_50c8_e12d0b35f6d4["QuicChannelUnsafe"] e06a1624_97e7_719b_83f4_41463045636c -->|defined in| 981bac79_4fa5_9e57_50c8_e12d0b35f6d4 4cae79d3_92ee_29bb_03d0_6a120cc97031["processReceived()"] 4cae79d3_92ee_29bb_03d0_6a120cc97031 -->|calls| e06a1624_97e7_719b_83f4_41463045636c style e06a1624_97e7_719b_83f4_41463045636c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicChannel.java lines 1728–1773
private void handlePathEvents(QuicheQuicConnection conn) {
long event;
while (!conn.isFreed() && (event = Quiche.quiche_conn_path_event_next(conn.address())) > 0) {
try {
int type = Quiche.quiche_path_event_type(event);
if (type == Quiche.QUICHE_PATH_EVENT_NEW) {
Object[] ret = Quiche.quiche_path_event_new(event);
InetSocketAddress local = (InetSocketAddress) ret[0];
InetSocketAddress peer = (InetSocketAddress) ret[1];
pipeline().fireUserEventTriggered(new QuicPathEvent.New(local, peer));
} else if (type == Quiche.QUICHE_PATH_EVENT_VALIDATED) {
Object[] ret = Quiche.quiche_path_event_validated(event);
InetSocketAddress local = (InetSocketAddress) ret[0];
InetSocketAddress peer = (InetSocketAddress) ret[1];
pipeline().fireUserEventTriggered(new QuicPathEvent.Validated(local, peer));
} else if (type == Quiche.QUICHE_PATH_EVENT_FAILED_VALIDATION) {
Object[] ret = Quiche.quiche_path_event_failed_validation(event);
InetSocketAddress local = (InetSocketAddress) ret[0];
InetSocketAddress peer = (InetSocketAddress) ret[1];
pipeline().fireUserEventTriggered(new QuicPathEvent.FailedValidation(local, peer));
} else if (type == Quiche.QUICHE_PATH_EVENT_CLOSED) {
Object[] ret = Quiche.quiche_path_event_closed(event);
InetSocketAddress local = (InetSocketAddress) ret[0];
InetSocketAddress peer = (InetSocketAddress) ret[1];
pipeline().fireUserEventTriggered(new QuicPathEvent.Closed(local, peer));
} else if (type == Quiche.QUICHE_PATH_EVENT_REUSED_SOURCE_CONNECTION_ID) {
Object[] ret = Quiche.quiche_path_event_reused_source_connection_id(event);
Long seq = (Long) ret[0];
InetSocketAddress localOld = (InetSocketAddress) ret[1];
InetSocketAddress peerOld = (InetSocketAddress) ret[2];
InetSocketAddress local = (InetSocketAddress) ret[3];
InetSocketAddress peer = (InetSocketAddress) ret[4];
pipeline().fireUserEventTriggered(
new QuicPathEvent.ReusedSourceConnectionId(seq, localOld, peerOld, local, peer));
} else if (type == Quiche.QUICHE_PATH_EVENT_PEER_MIGRATED) {
Object[] ret = Quiche.quiche_path_event_peer_migrated(event);
InetSocketAddress local = (InetSocketAddress) ret[0];
InetSocketAddress peer = (InetSocketAddress) ret[1];
pipeline().fireUserEventTriggered(new QuicPathEvent.PeerMigrated(local, peer));
}
} finally {
Quiche.quiche_path_event_free(event);
}
}
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does handlePathEvents() do?
handlePathEvents() is a function in the netty codebase, defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicChannel.java.
Where is handlePathEvents() defined?
handlePathEvents() is defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicChannel.java at line 1728.
What calls handlePathEvents()?
handlePathEvents() is called by 1 function(s): processReceived.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free