JoeSNMP API 0.2.6

org.opennms.protocols.icmp
Class AddressMaskReply

java.lang.Object
  extended byorg.opennms.protocols.icmp.ICMPHeader
      extended byorg.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, 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, toString, wait, wait, wait
 

Field Detail

m_mask

private int m_mask
Constructor Detail

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.
Method Detail

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.
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

JoeSNMP API 0.2.6

Generated by jpp on July 15 2004 1044.