- java.lang.Object
-
- org.pcap4j.packet.AbstractPacket.AbstractHeader
-
- org.pcap4j.packet.IpV6Packet.IpV6Header
-
- All Implemented Interfaces:
java.io.Serializable,IpPacket.IpHeader,Packet.Header
- Enclosing class:
- IpV6Packet
public static final class IpV6Packet.IpV6Header extends AbstractPacket.AbstractHeader implements IpPacket.IpHeader
- Since:
- pcap4j 0.9.10
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private static intDST_ADDR_OFFSETprivate static intDST_ADDR_SIZEprivate java.net.Inet6AddressdstAddrprivate IpV6Packet.IpV6FlowLabelflowLabelprivate static intHOP_LIMIT_OFFSETprivate static intHOP_LIMIT_SIZEprivate bytehopLimitprivate static intIPV6_HEADER_SIZEprivate static intNEXT_HEADER_OFFSETprivate static intNEXT_HEADER_SIZEprivate IpNumbernextHeaderprivate static intPAYLOAD_LENGTH_OFFSETprivate static intPAYLOAD_LENGTH_SIZEprivate shortpayloadLengthprivate static longserialVersionUIDprivate static intSRC_ADDR_OFFSETprivate static intSRC_ADDR_SIZEprivate java.net.Inet6AddresssrcAddrprivate IpV6Packet.IpV6TrafficClasstrafficClassprivate IpVersionversionprivate static intVERSION_AND_TRAFFIC_CLASS_AND_FLOW_LABEL_OFFSETprivate static intVERSION_AND_TRAFFIC_CLASS_AND_FLOW_LABEL_SIZE
-
Constructor Summary
Constructors Modifier Constructor Description privateIpV6Header(byte[] rawData, int offset, int length)privateIpV6Header(IpV6Packet.Builder builder, Packet payload)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.StringbuildString()This method builds the valuetoString()will return.protected intcalcHashCode()This method builds the valuehashCode()will return using the byte arraygetRawData()returns.booleanequals(java.lang.Object obj)Indicates whether some other object is "equal to" this one using return values ofgetRawData().java.net.Inet6AddressgetDstAddr()IpV6Packet.IpV6FlowLabelgetFlowLabel()bytegetHopLimit()intgetHopLimitAsInt()IpNumbergetNextHeader()shortgetPayloadLength()intgetPayloadLengthAsInt()IpNumbergetProtocol()protected java.util.List<byte[]>getRawFields()Returns a list of byte arrays which represents this header's fields.java.net.Inet6AddressgetSrcAddr()IpV6Packet.IpV6TrafficClassgetTrafficClass()IpVersiongetVersion()intlength()Returns the header length in bytes.-
Methods inherited from class org.pcap4j.packet.AbstractPacket.AbstractHeader
buildHexString, buildRawData, calcLength, getRawData, hashCode, toHexString, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.pcap4j.packet.Packet.Header
getRawData
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
VERSION_AND_TRAFFIC_CLASS_AND_FLOW_LABEL_OFFSET
private static final int VERSION_AND_TRAFFIC_CLASS_AND_FLOW_LABEL_OFFSET
- See Also:
- Constant Field Values
-
VERSION_AND_TRAFFIC_CLASS_AND_FLOW_LABEL_SIZE
private static final int VERSION_AND_TRAFFIC_CLASS_AND_FLOW_LABEL_SIZE
- See Also:
- Constant Field Values
-
PAYLOAD_LENGTH_OFFSET
private static final int PAYLOAD_LENGTH_OFFSET
- See Also:
- Constant Field Values
-
PAYLOAD_LENGTH_SIZE
private static final int PAYLOAD_LENGTH_SIZE
- See Also:
- Constant Field Values
-
NEXT_HEADER_OFFSET
private static final int NEXT_HEADER_OFFSET
- See Also:
- Constant Field Values
-
NEXT_HEADER_SIZE
private static final int NEXT_HEADER_SIZE
- See Also:
- Constant Field Values
-
HOP_LIMIT_OFFSET
private static final int HOP_LIMIT_OFFSET
- See Also:
- Constant Field Values
-
HOP_LIMIT_SIZE
private static final int HOP_LIMIT_SIZE
- See Also:
- Constant Field Values
-
SRC_ADDR_OFFSET
private static final int SRC_ADDR_OFFSET
- See Also:
- Constant Field Values
-
SRC_ADDR_SIZE
private static final int SRC_ADDR_SIZE
- See Also:
- Constant Field Values
-
DST_ADDR_OFFSET
private static final int DST_ADDR_OFFSET
- See Also:
- Constant Field Values
-
DST_ADDR_SIZE
private static final int DST_ADDR_SIZE
- See Also:
- Constant Field Values
-
IPV6_HEADER_SIZE
private static final int IPV6_HEADER_SIZE
- See Also:
- Constant Field Values
-
version
private final IpVersion version
-
trafficClass
private final IpV6Packet.IpV6TrafficClass trafficClass
-
flowLabel
private final IpV6Packet.IpV6FlowLabel flowLabel
-
payloadLength
private final short payloadLength
-
nextHeader
private final IpNumber nextHeader
-
hopLimit
private final byte hopLimit
-
srcAddr
private final java.net.Inet6Address srcAddr
-
dstAddr
private final java.net.Inet6Address dstAddr
-
-
Constructor Detail
-
IpV6Header
private IpV6Header(byte[] rawData, int offset, int length) throws IllegalRawDataException- Throws:
IllegalRawDataException
-
IpV6Header
private IpV6Header(IpV6Packet.Builder builder, Packet payload)
-
-
Method Detail
-
getVersion
public IpVersion getVersion()
- Specified by:
getVersionin interfaceIpPacket.IpHeader- Returns:
- version
-
getTrafficClass
public IpV6Packet.IpV6TrafficClass getTrafficClass()
- Returns:
- trafficClass
-
getFlowLabel
public IpV6Packet.IpV6FlowLabel getFlowLabel()
- Returns:
- flowLabel
-
getPayloadLength
public short getPayloadLength()
- Returns:
- payloadLength
-
getPayloadLengthAsInt
public int getPayloadLengthAsInt()
- Returns:
- payloadLength
-
getNextHeader
public IpNumber getNextHeader()
- Returns:
- nextHeader
-
getProtocol
public IpNumber getProtocol()
- Specified by:
getProtocolin interfaceIpPacket.IpHeader- Returns:
- an IpNumber object which indicates the protocol of the following header.
-
getHopLimit
public byte getHopLimit()
- Returns:
- hopLimit
-
getHopLimitAsInt
public int getHopLimitAsInt()
- Returns:
- hopLimit
-
getSrcAddr
public java.net.Inet6Address getSrcAddr()
- Specified by:
getSrcAddrin interfaceIpPacket.IpHeader- Returns:
- srcAddr
-
getDstAddr
public java.net.Inet6Address getDstAddr()
- Specified by:
getDstAddrin interfaceIpPacket.IpHeader- Returns:
- dstAddr
-
getRawFields
protected java.util.List<byte[]> getRawFields()
Description copied from class:AbstractPacket.AbstractHeaderReturns a list of byte arrays which represents this header's fields. This method is called bycalcLength()andbuildRawData().- Specified by:
getRawFieldsin classAbstractPacket.AbstractHeader- Returns:
- a list of byte arrays which represents this header's fields
-
length
public int length()
Description copied from class:AbstractPacket.AbstractHeaderReturns the header length in bytes. This method callscalcLength()and caches the return value when it is called for the first time, and then, this method returns the cached value from the second time.- Specified by:
lengthin interfacePacket.Header- Overrides:
lengthin classAbstractPacket.AbstractHeader- Returns:
- the length of the byte stream of the header represented by this object in bytes
-
buildString
protected java.lang.String buildString()
Description copied from class:AbstractPacket.AbstractHeaderThis method builds the valuetoString()will return.- Overrides:
buildStringin classAbstractPacket.AbstractHeader- Returns:
- a string representation of this object
-
equals
public boolean equals(java.lang.Object obj)
Description copied from class:AbstractPacket.AbstractHeaderIndicates whether some other object is "equal to" this one using return values ofgetRawData(). This method should be overridden so that it does more strict comparisons more efficiently.- Overrides:
equalsin classAbstractPacket.AbstractHeader
-
calcHashCode
protected int calcHashCode()
Description copied from class:AbstractPacket.AbstractHeaderThis method builds the valuehashCode()will return using the byte arraygetRawData()returns. This method may be better to be overridden for performance reason.- Overrides:
calcHashCodein classAbstractPacket.AbstractHeader- Returns:
- a calculated hash code value for the object
-
-