org.opennms.protocols.icmp
Class AddressMaskReply
java.lang.Object
|
+--org.opennms.protocols.icmp.ICMPHeader
|
+--org.opennms.protocols.icmp.AddressMaskReply
- public final class AddressMaskReply
- extends ICMPHeader
This is the implementation of an ICMP Address Mask Reply
object. The object can be stored in a buffer to send or
loaded from a received buffer. The class is marked final
since it is not intended to be extended.
- Version:
- 0.1
- Author:
- Brian Weaver
Field Summary |
private int |
m_mask
|
Fields inherited from class org.opennms.protocols.icmp.ICMPHeader |
CODE_BAD_IP_HEADER, CODE_COMMUNICATIONS_ADMIN_PROHIBITIED, CODE_DESTINATION_HOST_ADMIN_PROHIBITED, CODE_DESTINATION_HOST_UNKNOWN, CODE_DESTINATION_NETWORK_ADMIN_PROHIBITED, CODE_DESTINATION_NETWORK_UNKNOWN, CODE_FRAGMENTATION_NEEDED, CODE_HOST_PRECEDENCE_VIOLATION, CODE_HOST_UNREACHABLE, CODE_HOST_UNREACHABLE_FOR_TOS, CODE_NETWORK_UNREACHABLE, CODE_NETWORK_UNREACHABLE_FOR_TOS, CODE_PORT_UNREACHABLE, CODE_PRECEDENCE_CUTOFF_IN_EFFECT, CODE_PROTOCOL_UNREACHABLE, CODE_REDIRECT_FOR_HOST, CODE_REDIRECT_FOR_NETWORK, CODE_REDIRECT_FOR_TYPE_OF_SERVICE_AND_HOST, CODE_REDIRECT_FOR_TYPE_OF_SERVICE_AND_NETWORK, CODE_REQUIRED_OPTION_MISSING, CODE_SOURCE_HOST_ISOLATED, CODE_SOURCE_ROUTE_FAILED, CODE_TTL_EQ_ZERO_IN_REASSEMBLY, CODE_TTL_EQ_ZERO_IN_TRANSIT, m_checksum, m_code, m_ident, m_sequence, m_type, sm_seq, TYPE_ADDRESS_MASK_REPLY, TYPE_ADDRESS_MASK_REQUEST, TYPE_DESTINATION_UNREACHABLE, TYPE_ECHO_REPLY, TYPE_ECHO_REQUEST, TYPE_INFORMATION_REPLY, TYPE_INFORMATION_REQUEST, TYPE_PARAMETER_PROBLEM, TYPE_REDIRECT, TYPE_ROUTER_ADVERTISEMENT, TYPE_ROUTER_SOLICITATION, TYPE_SOURCE_QUENCH, TYPE_TIME_EXCEEDED, TYPE_TIMESTAMP_REPLY, TYPE_TIMESTAMP_REQUEST |
Constructor Summary |
AddressMaskReply()
Creates a new ICMP Address Mask Request object. |
AddressMaskReply(byte[] buf,
int offset)
Creates a new ICMP Address mask reply from
the spcified data at the specific offset. |
Method Summary |
void |
computeChecksum()
Computes the ones compliment 16-bit checksum for
the ICMP message. |
int |
getAddressMask()
Used to get the IPv4 32-bit address mask. |
int |
loadFromBuffer(byte[] buf,
int offset)
Reads the ICMP Address Mask Reqeust from the specified
buffer and sets the internal fields equal to the data. |
void |
setAddressMask(int mask)
Used to set the IPv4 32-bit address mask. |
int |
storeToBuffer(byte[] buf,
int offset)
Writes the ICMP address mask reply out to the specified
buffer at the starting offset. |
byte[] |
toBytes()
Converts the object to a stream of bytes. |
Methods inherited from class org.opennms.protocols.icmp.ICMPHeader |
byteToInt, byteToShort, computeChecksum, getChecksum, getCode, getIdentity, getNetworkSize, getSequenceId, getType, isEchoReply, isEchoRequest, nextSequenceId, setChecksum, setCode, setIdentity, setNextSequenceId, setSequenceId, setType |
Methods inherited from class java.lang.Object |
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait |
m_mask
private int m_mask
AddressMaskReply
public AddressMaskReply()
- Creates a new ICMP Address Mask Request object.
AddressMaskReply
public AddressMaskReply(byte[] buf,
int offset)
- Creates a new ICMP Address mask reply from
the spcified data at the specific offset.
- Parameters:
buf
- The buffer containing the data.offset
- The start of the icmp data.- Throws:
InsufficientDataException
- Thrown if there
is not sufficent data in the buffer.IllegalArgumentException
- Thrown if the ICMP type
is not an Address Mask reply.
computeChecksum
public void computeChecksum()
- Computes the ones compliment 16-bit checksum for
the ICMP message.
- Overrides:
computeChecksum
in class ICMPHeader
storeToBuffer
public int storeToBuffer(byte[] buf,
int offset)
- Writes the ICMP address mask reply out to the specified
buffer at the starting offset. If the buffer
does not have sufficent data to store the
information then an ArrayIndexOutOfBoundsException is
thrown.
- Overrides:
storeToBuffer
in class ICMPHeader
- Parameters:
buf
- The storage buffer.offst
- The location to start in buf.- Returns:
- The new offset after storing to the buffer.
- Throws:
ArrayIndexOutOfBoundsException
- Thrown if the buffer
does not have enough storage space.
loadFromBuffer
public int loadFromBuffer(byte[] buf,
int offset)
- Reads the ICMP Address Mask Reqeust from the specified
buffer and sets the internal fields equal to the data.
If the buffer does not have sufficent data to restore the
header then an InsufficientDataException is thrown
by the method. If the buffer does not contain an
address mask reqeust then an IllegalArgumentException
is thrown.
- Overrides:
loadFromBuffer
in class ICMPHeader
- Parameters:
buf
- The buffer to read the data from.offset
- The offset to start reading data.- Returns:
- The new offset after reading the data.
- Throws:
InsufficientDataException
- Thrown if there
is not sufficent data in the buffer.IllegalArgumentException
- Thrown if the ICMP type
is not an Address Mask reply.
getAddressMask
public int getAddressMask()
- Used to get the IPv4 32-bit address mask.
setAddressMask
public void setAddressMask(int mask)
- Used to set the IPv4 32-bit address mask.
toBytes
public byte[] toBytes()
- Converts the object to a stream of bytes.
- Overrides:
toBytes
in class ICMPHeader