Home / Function/ completeTCPWrite() — netty Function Reference

completeTCPWrite() — netty Function Reference

Architecture documentation for the completeTCPWrite() function in PcapWriteHandler.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  bbfbdddd_98c4_8181_5429_a45dee375189["completeTCPWrite()"]
  59f0289b_ecfd_de3c_3397_4cf08e2047d1["PcapWriteHandler"]
  bbfbdddd_98c4_8181_5429_a45dee375189 -->|defined in| 59f0289b_ecfd_de3c_3397_4cf08e2047d1
  f413848a_cf63_e812_442c_2bc5760c526a["initializeIfNecessary()"]
  f413848a_cf63_e812_442c_2bc5760c526a -->|calls| bbfbdddd_98c4_8181_5429_a45dee375189
  320d8848_c045_6f15_fc6c_77ec890cc385["handleTcpPacket()"]
  320d8848_c045_6f15_fc6c_77ec890cc385 -->|calls| bbfbdddd_98c4_8181_5429_a45dee375189
  83e8cd99_fb62_b9e8_70a4_3ee322e6c838["handlerRemoved()"]
  83e8cd99_fb62_b9e8_70a4_3ee322e6c838 -->|calls| bbfbdddd_98c4_8181_5429_a45dee375189
  8bb104b3_dbc0_68f9_712f_44217e20e914["exceptionCaught()"]
  8bb104b3_dbc0_68f9_712f_44217e20e914 -->|calls| bbfbdddd_98c4_8181_5429_a45dee375189
  style bbfbdddd_98c4_8181_5429_a45dee375189 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

handler/src/main/java/io/netty/handler/pcap/PcapWriteHandler.java lines 432–468

    private void completeTCPWrite(InetSocketAddress srcAddr, InetSocketAddress dstAddr, ByteBuf tcpBuf,
                                  ByteBufAllocator byteBufAllocator, ChannelHandlerContext ctx) {

        ByteBuf ipBuf = byteBufAllocator.buffer();
        ByteBuf ethernetBuf = byteBufAllocator.buffer();
        ByteBuf pcap = byteBufAllocator.buffer();

        try {
            if (srcAddr.getAddress() instanceof Inet4Address && dstAddr.getAddress() instanceof Inet4Address) {
                IPPacket.writeTCPv4(ipBuf, tcpBuf,
                                    NetUtil.ipv4AddressToInt((Inet4Address) srcAddr.getAddress()),
                                    NetUtil.ipv4AddressToInt((Inet4Address) dstAddr.getAddress()));

                EthernetPacket.writeIPv4(ethernetBuf, ipBuf);
            } else if (srcAddr.getAddress() instanceof Inet6Address && dstAddr.getAddress() instanceof Inet6Address) {
                IPPacket.writeTCPv6(ipBuf, tcpBuf,
                                    srcAddr.getAddress().getAddress(),
                                    dstAddr.getAddress().getAddress());

                EthernetPacket.writeIPv6(ethernetBuf, ipBuf);
            } else {
                logger.error("Source and Destination IP Address versions are not same. Source Address: {}, " +
                             "Destination Address: {}", srcAddr.getAddress(), dstAddr.getAddress());
                return;
            }

            // Write Packet into Pcap
            pCapWriter.writePacket(pcap, ethernetBuf);
        } catch (IOException ex) {
            logger.error("Caught Exception While Writing Packet into Pcap", ex);
            ctx.fireExceptionCaught(ex);
        } finally {
            ipBuf.release();
            ethernetBuf.release();
            pcap.release();
        }
    }

Domain

Subdomains

Frequently Asked Questions

What does completeTCPWrite() do?
completeTCPWrite() is a function in the netty codebase, defined in handler/src/main/java/io/netty/handler/pcap/PcapWriteHandler.java.
Where is completeTCPWrite() defined?
completeTCPWrite() is defined in handler/src/main/java/io/netty/handler/pcap/PcapWriteHandler.java at line 432.
What calls completeTCPWrite()?
completeTCPWrite() is called by 4 function(s): exceptionCaught, handleTcpPacket, handlerRemoved, initializeIfNecessary.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free