com.sun.management.snmp
Interface SnmpPduFactory

All Known Implementing Classes:
SnmpPduFactoryBER

public interface SnmpPduFactory

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

Since:
Java DMK 5.1
See Also:
SnmpPduFactory, SnmpPduPacket, SnmpMessage

Method Summary
 SnmpPdu decodeSnmpPdu(SnmpMsg msg)
          Decodes the specified SnmpMsg and returns the resulting SnmpPdu.
 SnmpMsg encodeSnmpPdu(SnmpPdu pdu, int maxPktSize)
          Encodes the specified SnmpPdu and returns the resulting SnmpMsg.
 

Method Detail

decodeSnmpPdu

SnmpPdu decodeSnmpPdu(SnmpMsg msg)
                      throws SnmpStatusException
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.

encodeSnmpPdu

SnmpMsg encodeSnmpPdu(SnmpPdu pdu,
                      int maxPktSize)
                      throws SnmpStatusException,
                             SnmpTooBigException
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:
pdu - The SnmpPdu to be encoded.
maxPktSize - 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.

Open Source build 02
opendmk-1.0-b02 2007.10.01_19:17:46_MEST

Copyright 1998-2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.