Class Encoder

java.lang.Object
org.metricshub.ipmi.core.coding.Encoder

public final class Encoder extends Object
Creates RMCP packet containing encrypted IPMI command from IPMICommand wrapper class or raw byte data.
  • Method Details

    • encode

      public static byte[] encode(IpmiEncoder protcolEncoder, PayloadCoder payloadCoder, int messageSequenceNumber, int sessionSequenceNumber, int sessionId) throws NoSuchAlgorithmException, InvalidKeyException
      Encodes IPMI command specified by payloadCoder into byte array raw data.
      Parameters:
      protcolEncoder - - instance of IpmiEncoder class for encoding of the IPMI session header. Protocolv15Decoder or Protocolv20Decoder should be used (depending on IPMI protocol version used).
      payloadCoder - - instance of PayloadCoder class used for building IPMI message payload.
      messageSequenceNumber - - A generated sequence number used for matching request and response. If IPMI message is sent in a session, it is used as a Session Sequence Number. For all IPMI messages, messageSequenceNumber is used as a IPMI LAN Message sequence number and as an IPMI payload message tag.
      sessionId - - ID of the managed system's session message is being sent in. For sessionless commands should be set to 0.
      Returns:
      encoded IPMI command
      Throws:
      NoSuchAlgorithmException - - when authentication, confidentiality or integrity algorithm fails.
      InvalidKeyException - - when creating of the algorithm key fails