Home / Class/ PcapWriteHandler Class — netty Architecture

PcapWriteHandler Class — netty Architecture

Architecture documentation for the PcapWriteHandler class in PcapWriteHandler.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  59f0289b_ecfd_de3c_3397_4cf08e2047d1["PcapWriteHandler"]
  f621a1b5_b094_5cfc_94ae_44445a7f7be6["PcapWriteHandler.java"]
  59f0289b_ecfd_de3c_3397_4cf08e2047d1 -->|defined in| f621a1b5_b094_5cfc_94ae_44445a7f7be6
  248179f2_51ef_4f80_83ac_89c95779a7c4["PcapWriteHandler()"]
  59f0289b_ecfd_de3c_3397_4cf08e2047d1 -->|method| 248179f2_51ef_4f80_83ac_89c95779a7c4
  4e4807e3_947d_baea_eead_5a0d49198b88["writeGlobalHeader()"]
  59f0289b_ecfd_de3c_3397_4cf08e2047d1 -->|method| 4e4807e3_947d_baea_eead_5a0d49198b88
  f413848a_cf63_e812_442c_2bc5760c526a["initializeIfNecessary()"]
  59f0289b_ecfd_de3c_3397_4cf08e2047d1 -->|method| f413848a_cf63_e812_442c_2bc5760c526a
  70ae8233_1a41_b995_2a35_d08a52e5832c["channelActive()"]
  59f0289b_ecfd_de3c_3397_4cf08e2047d1 -->|method| 70ae8233_1a41_b995_2a35_d08a52e5832c
  ad9aed33_ce6c_03a6_768d_de9fb726fba9["channelRead()"]
  59f0289b_ecfd_de3c_3397_4cf08e2047d1 -->|method| ad9aed33_ce6c_03a6_768d_de9fb726fba9
  2fb87f56_9808_98f7_33ce_8ee757b86601["write()"]
  59f0289b_ecfd_de3c_3397_4cf08e2047d1 -->|method| 2fb87f56_9808_98f7_33ce_8ee757b86601
  56402456_64d5_e1dd_9d6f_c6dfc0490e45["handleTCP()"]
  59f0289b_ecfd_de3c_3397_4cf08e2047d1 -->|method| 56402456_64d5_e1dd_9d6f_c6dfc0490e45
  320d8848_c045_6f15_fc6c_77ec890cc385["handleTcpPacket()"]
  59f0289b_ecfd_de3c_3397_4cf08e2047d1 -->|method| 320d8848_c045_6f15_fc6c_77ec890cc385
  bbfbdddd_98c4_8181_5429_a45dee375189["completeTCPWrite()"]
  59f0289b_ecfd_de3c_3397_4cf08e2047d1 -->|method| bbfbdddd_98c4_8181_5429_a45dee375189
  89999839_bf9a_67ff_18ff_46d98e911624["incrementUintSegmentNumber()"]
  59f0289b_ecfd_de3c_3397_4cf08e2047d1 -->|method| 89999839_bf9a_67ff_18ff_46d98e911624
  06ef8177_bf66_5538_b798_56d322fe8d3e["handleUDP()"]
  59f0289b_ecfd_de3c_3397_4cf08e2047d1 -->|method| 06ef8177_bf66_5538_b798_56d322fe8d3e
  4e4d1dfd_9ca2_974c_7198_72a58937e36e["completeUDPWrite()"]
  59f0289b_ecfd_de3c_3397_4cf08e2047d1 -->|method| 4e4d1dfd_9ca2_974c_7198_72a58937e36e
  ddfb3cec_619a_c9db_27ba_8a1c524104e3["InetSocketAddress()"]
  59f0289b_ecfd_de3c_3397_4cf08e2047d1 -->|method| ddfb3cec_619a_c9db_27ba_8a1c524104e3

Relationship Graph

Source Code

handler/src/main/java/io/netty/handler/pcap/PcapWriteHandler.java lines 71–926

public final class PcapWriteHandler extends ChannelDuplexHandler implements Closeable {

    /**
     * Logger for logging events
     */
    private final InternalLogger logger = InternalLoggerFactory.getInstance(PcapWriteHandler.class);

    /**
     * {@link PcapWriter} Instance
     */
    private PcapWriter pCapWriter;

    /**
     * {@link OutputStream} where we'll write Pcap data.
     */
    private final OutputStream outputStream;

    /**
     * {@code true} if we want to capture packets with zero bytes else {@code false}.
     */
    private final boolean captureZeroByte;

    /**
     * {@code true} if we want to write Pcap Global Header on initialization of
     * {@link PcapWriter} else {@code false}.
     */
    private final boolean writePcapGlobalHeader;

    /**
     * {@code true} if we want to synchronize on the {@link OutputStream} while writing
     * else {@code false}.
     */
    private final boolean sharedOutputStream;

    /**
     * TCP Sender Segment Number.
     * It'll start with 1 and keep incrementing with number of bytes read/sent and wrap at the uint32 max.
     */
    private long sendSegmentNumber = 1;

    /**
     * TCP Receiver Segment Number.
     * It'll start with 1 and keep incrementing with number of bytes read/sent and wrap at the uint32 max
     */
    private long receiveSegmentNumber = 1;

    /**
     * Type of the channel this handler is registered on
     */
    private ChannelType channelType;

    /**
     * Address of the initiator of the connection
     */
    private InetSocketAddress initiatorAddr;

    /**
     * Address of the receiver of the connection
     */
    private InetSocketAddress handlerAddr;

    /**
     * Set to {@code true} if this handler is registered on a server pipeline
     */
    private boolean isServerPipeline;

    /**
     * Current of this {@link PcapWriteHandler}
     */
    private final AtomicReference<State> state = new AtomicReference<State>(State.INIT);

    /**
     * Create new {@link PcapWriteHandler} Instance.
     * {@code captureZeroByte} is set to {@code false} and
     * {@code writePcapGlobalHeader} is set to {@code true}.
     *
     * @param outputStream OutputStream where Pcap data will be written. Call {@link #close()} to close this
     *                     OutputStream.
     * @throws NullPointerException If {@link OutputStream} is {@code null} then we'll throw an
     *                              {@link NullPointerException}
     * @deprecated Use {@link Builder} instead.

Frequently Asked Questions

What is the PcapWriteHandler class?
PcapWriteHandler is a class in the netty codebase, defined in handler/src/main/java/io/netty/handler/pcap/PcapWriteHandler.java.
Where is PcapWriteHandler defined?
PcapWriteHandler is defined in handler/src/main/java/io/netty/handler/pcap/PcapWriteHandler.java at line 71.

Analyze Your Own Codebase

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

Try Supermodel Free