public interface

SnmpPduFactory

com.sun.jmx.snmp.SnmpPduFactory
Known Indirect Subclasses

Class Overview

Defines the interface of the object in charge of encoding and decoding SNMP packets.

You will not usually need to use this interface, except if you decide to replace the default implementation SnmpPduFactoryBER.

An SnmpPduFactory object is attached to an SNMP protocol adaptor or an com.sun.jmx.snmp.SnmpPeer SnmpPeer. It is used each time an SNMP packet needs to be encoded or decoded.
SnmpPduFactoryBER is the default implementation. It simply applies the standard ASN.1 encoding and decoding on the bytes of the SNMP packet.

It's possible to implement your own SnmpPduFactory object and to add authentication and/or encryption to the default encoding/decoding process.

This API is a Sun Microsystems internal API and is subject to change without notice.

See Also

Summary

Public Methods
abstract SnmpPdu decodeSnmpPdu(SnmpMsg msg)
Decodes the specified SnmpMsg and returns the resulting SnmpPdu.
abstract SnmpMsg encodeSnmpPdu(SnmpPdu p, int maxDataLength)
Encodes the specified SnmpPdu and returns the resulting SnmpMsg.

Public Methods

public abstract SnmpPdu decodeSnmpPdu (SnmpMsg msg)

Decodes the specified SnmpMsg and returns the resulting SnmpPdu. If this method returns null, the message will be considered unsafe and will be dropped.

Parameters
msg The SnmpMsg to be decoded.
Returns
  • Null or a fully initialized SnmpPdu.
Throws
SnmpStatusException If the encoding is invalid.

public abstract SnmpMsg encodeSnmpPdu (SnmpPdu p, int maxDataLength)

Encodes the specified SnmpPdu and returns the resulting SnmpMsg. If this method returns null, the specified SnmpPdu will be dropped and the current SNMP request will be aborted.

Parameters
p The SnmpPdu to be encoded.
maxDataLength The size limit of the resulting encoding.
Returns
  • Null or a fully encoded SnmpMsg.
Throws
SnmpStatusException If pdu contains illegal values and cannot be encoded.
SnmpTooBigException If the resulting encoding does not fit into maxPktSize bytes.