Class BpfProgram


  • public final class BpfProgram
    extends java.lang.Object
    Since:
    pcap4j 0.9.16
    • Field Detail

      • expression

        private final java.lang.String expression
      • freed

        private volatile boolean freed
      • lock

        private final java.lang.Object lock
    • Method Detail

      • getExpression

        public java.lang.String getExpression()
        Returns:
        expression
      • applyFilter

        public boolean applyFilter​(Packet packet)
        Apply the filter on a given packet. Return true if the packet given passes the filter that is built from this program.
        Parameters:
        packet - the packet to apply the filter on
        Returns:
        true if this program is not freed and the packet passes the filter; false otherwise.
      • applyFilter

        public boolean applyFilter​(byte[] packet)
        Apply the filter on a given packet. Return true if the packet given passes the filter that is built from this program.
        Parameters:
        packet - the packet to apply the filter on
        Returns:
        true if this program is not freed and the packet passes the filter; false otherwise.
      • applyFilter

        public boolean applyFilter​(byte[] packet,
                                   int orgPacketLen,
                                   int packetLen)
        Apply the filter on a given packet. Return true if the packet given passes the filter that is built from this program.
        Parameters:
        packet - a byte array including the packet to apply the filter on
        orgPacketLen - the length of the original packet
        packetLen - the length of the packet present
        Returns:
        true if this program is not freed and the packet passes the filter; false otherwise.
      • isFreed

        public boolean isFreed()
        Returns:
        true if the bpf_program represented by this object is freed; false otherwise.
      • free

        public void free()