handleTcpPacket() — netty Function Reference
Architecture documentation for the handleTcpPacket() function in PcapWriteHandler.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 320d8848_c045_6f15_fc6c_77ec890cc385["handleTcpPacket()"] 59f0289b_ecfd_de3c_3397_4cf08e2047d1["PcapWriteHandler"] 320d8848_c045_6f15_fc6c_77ec890cc385 -->|defined in| 59f0289b_ecfd_de3c_3397_4cf08e2047d1 56402456_64d5_e1dd_9d6f_c6dfc0490e45["handleTCP()"] 56402456_64d5_e1dd_9d6f_c6dfc0490e45 -->|calls| 320d8848_c045_6f15_fc6c_77ec890cc385 bbfbdddd_98c4_8181_5429_a45dee375189["completeTCPWrite()"] 320d8848_c045_6f15_fc6c_77ec890cc385 -->|calls| bbfbdddd_98c4_8181_5429_a45dee375189 e9ea0d11_37bd_0e70_760b_8d049dd713be["logTCP()"] 320d8848_c045_6f15_fc6c_77ec890cc385 -->|calls| e9ea0d11_37bd_0e70_760b_8d049dd713be 89999839_bf9a_67ff_18ff_46d98e911624["incrementUintSegmentNumber()"] 320d8848_c045_6f15_fc6c_77ec890cc385 -->|calls| 89999839_bf9a_67ff_18ff_46d98e911624 style 320d8848_c045_6f15_fc6c_77ec890cc385 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
handler/src/main/java/io/netty/handler/pcap/PcapWriteHandler.java lines 365–421
private void handleTcpPacket(ChannelHandlerContext ctx, ByteBuf packet, boolean isWriteOperation,
ByteBufAllocator byteBufAllocator) {
ByteBuf tcpBuf = byteBufAllocator.buffer();
int bytes = packet.readableBytes();
try {
if (isWriteOperation) {
final InetSocketAddress srcAddr;
final InetSocketAddress dstAddr;
if (isServerPipeline) {
srcAddr = handlerAddr;
dstAddr = initiatorAddr;
} else {
srcAddr = initiatorAddr;
dstAddr = handlerAddr;
}
TCPPacket.writePacket(tcpBuf, packet, sendSegmentNumber, receiveSegmentNumber,
srcAddr.getPort(),
dstAddr.getPort(), TCPPacket.TCPFlag.ACK);
completeTCPWrite(srcAddr, dstAddr, tcpBuf, byteBufAllocator, ctx);
logTCP(true, bytes, sendSegmentNumber, receiveSegmentNumber, srcAddr, dstAddr, false);
sendSegmentNumber = incrementUintSegmentNumber(sendSegmentNumber, bytes);
TCPPacket.writePacket(tcpBuf, null, receiveSegmentNumber, sendSegmentNumber, dstAddr.getPort(),
srcAddr.getPort(), TCPPacket.TCPFlag.ACK);
completeTCPWrite(dstAddr, srcAddr, tcpBuf, byteBufAllocator, ctx);
logTCP(true, bytes, sendSegmentNumber, receiveSegmentNumber, dstAddr, srcAddr, true);
} else {
final InetSocketAddress srcAddr;
final InetSocketAddress dstAddr;
if (isServerPipeline) {
srcAddr = initiatorAddr;
dstAddr = handlerAddr;
} else {
srcAddr = handlerAddr;
dstAddr = initiatorAddr;
}
TCPPacket.writePacket(tcpBuf, packet, receiveSegmentNumber, sendSegmentNumber,
srcAddr.getPort(),
dstAddr.getPort(), TCPPacket.TCPFlag.ACK);
completeTCPWrite(srcAddr, dstAddr, tcpBuf, byteBufAllocator, ctx);
logTCP(false, bytes, receiveSegmentNumber, sendSegmentNumber, srcAddr, dstAddr, false);
receiveSegmentNumber = incrementUintSegmentNumber(receiveSegmentNumber, bytes);
TCPPacket.writePacket(tcpBuf, null, sendSegmentNumber, receiveSegmentNumber, dstAddr.getPort(),
srcAddr.getPort(), TCPPacket.TCPFlag.ACK);
completeTCPWrite(dstAddr, srcAddr, tcpBuf, byteBufAllocator, ctx);
logTCP(false, bytes, sendSegmentNumber, receiveSegmentNumber, dstAddr, srcAddr, true);
}
} finally {
tcpBuf.release();
}
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does handleTcpPacket() do?
handleTcpPacket() is a function in the netty codebase, defined in handler/src/main/java/io/netty/handler/pcap/PcapWriteHandler.java.
Where is handleTcpPacket() defined?
handleTcpPacket() is defined in handler/src/main/java/io/netty/handler/pcap/PcapWriteHandler.java at line 365.
What does handleTcpPacket() call?
handleTcpPacket() calls 3 function(s): completeTCPWrite, incrementUintSegmentNumber, logTCP.
What calls handleTcpPacket()?
handleTcpPacket() is called by 1 function(s): handleTCP.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free