Package org.metricshub.ipmi.core.coding
Class Encoder
java.lang.Object
org.metricshub.ipmi.core.coding.Encoder
Creates RMCP packet containing encrypted IPMI command from IPMICommand
wrapper class or raw byte data.
-
Method Summary
Modifier and TypeMethodDescriptionstatic byte[]encode(IpmiEncoder protcolEncoder, PayloadCoder payloadCoder, int messageSequenceNumber, int sessionSequenceNumber, int sessionId) Encodes IPMI command specified by payloadCoder into byte array raw 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 ofIpmiEncoderclass for encoding of the IPMI session header.Protocolv15DecoderorProtocolv20Decodershould be used (depending on IPMI protocol version used).payloadCoder- - instance ofPayloadCoderclass 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
-