/** * Decodes the specified bytes and initializes itself with the received * response. * * @param inputBytes The bytes to be decoded. * * @exception SnmpStatusException If the specified bytes are not a valid encoding. */ public SnmpMsg decodeMessage(byte[] inputBytes, int byteCount, InetAddress address, int port) throws SnmpStatusException, SnmpSecurityException;
/** * Initializes the message to send with the passed Pdu. * <P> * If the encoding length exceeds <CODE>maxDataLength</CODE>, * the method throws an exception.</P> * * @param p The PDU to be encoded. * @param maxDataLength The maximum length permitted for the data field. * * @exception SnmpStatusException If the specified PDU <CODE>p</CODE> is * not valid. * @exception SnmpTooBigException If the resulting encoding does not fit * into <CODE>maxDataLength</CODE> bytes. * @exception ArrayIndexOutOfBoundsException If the encoding exceeds * <CODE>maxDataLength</CODE>. */ public SnmpMsg encodeSnmpPdu(SnmpPdu p, int maxDataLength) throws SnmpStatusException, SnmpTooBigException;
/** * Initializes the response to send with the passed Pdu. * <P> * If the encoding length exceeds <CODE>maxDataLength</CODE>, * the method throws an exception. * * @param p The PDU to be encoded. * @param maxDataLength The maximum length permitted for the data field. * * @exception SnmpStatusException If the specified <CODE>pdu</CODE> * is not valid. * @exception SnmpTooBigException If the resulting encoding does not fit * into <CODE>maxDataLength</CODE> bytes. * @exception ArrayIndexOutOfBoundsException If the encoding exceeds * <CODE>maxDataLength</CODE>. */ public SnmpMsg encodeSnmpPdu(SnmpPdu p, int maxDataLength) throws SnmpStatusException, SnmpTooBigException;
/** * Returns the request or message Id contained in the passed message. The message is a generic one that is narrowed in the object implementing this interface. */ public int getMsgId(SnmpMsg msg);
/** * Returns the response max message size. The message is a generic one that is narrowed in the object implementing this interface. */ public int getMsgMaxSize(SnmpMsg msg);
/** * Returns the message flags. The message is a generic one that is narrowed in the object implementing this interface. */ public byte getMsgFlags(SnmpMsg msg);
/** * Returns the message security model. The message is a generic one that is narrowed in the object implementing this interface. */ public int getMsgSecurityModel(SnmpMsg msg);
/** * Returns the message security level. The message is a generic one that is narrowed in the object implementing this interface. */ public int getSecurityLevel(SnmpMsg msg);
/** * Returns an encoded representation of security parameters contained in the passed msg. The message is a generic one that is narrowed in the object implementing this interface. */ public byte[] getFlatSecurityParameters(SnmpMsg msg);
/** * Returns the message security parameters. The message is a generic one that is narrowed in the object implementing this interface. */ public SnmpSecurityParameters getSecurityParameters(SnmpMsg msg);
/** * Returns the message context Engine Id. The message is a generic one that is narrowed in the object implementing this interface. */ public byte[] getContextEngineId(SnmpMsg msg);
/** * Returns the message context name. The message is a generic one that is narrowed in the object implementing this interface. */ public byte[] getContextName(SnmpMsg msg);
/** * Returns the raw message context name. Raw mean as it is received from the network, without translation. It can be useful when some data are piggy backed in the context name.The message is a generic one that is narrowed in the object implementing this interface. */ public byte[] getRawContextName(SnmpMsg msg);
/** * Returns the message accesscontext name. This access context name is used when dealing with access rights (eg: community for V1/V2 or context name for V3).The message is a generic one that is narrowed in the object implementing this interface. */ public byte[] getAccessContext(SnmpMsg msg);
/** * Returns the message encrypted pdu or null if no encryption. The message is a generic one that is narrowed in the object implementing this interface. */ public byte[] getEncryptedPdu(SnmpMsg msg);
/** * Set the context name of the passed message. */ public void setContextName(SnmpMsg req, byte[] contextName);
/** * Set the context engine Id of the passed message. */ public void setContextEngineId(SnmpMsg req, byte[] contextEngineId);
/** * Calls {@link com.sun.jmx.snmp.SnmpMsg#decodeSnmpPdu SnmpMsg.decodeSnmpPdu} * on the specified message and returns the resulting <CODE>SnmpPdu</CODE>. * * @param msg The SNMP message to be decoded. * @return The resulting SNMP PDU packet. * @exception SnmpStatusException If the encoding is invalid. * * @since 1.5 */ public SnmpPdu decodeSnmpPdu(SnmpMsg msg) throws SnmpStatusException { return msg.decodeSnmpPdu(); }