From 7f268e4daa41598610fbd0926b44a3584f527479 Mon Sep 17 00:00:00 2001 From: Vernon Mauery Date: Fri, 26 Oct 2018 10:26:01 -0700 Subject: netipmid: consolidate message-related things in message.hpp The message::Handler class was directly manipulating a bunch of stuff on behalf of the message::Message class. This change moves more of the changes into the message::Message class so it can manage its own data. Change-Id: I5d31f6c3c5760207408238d048853e36a60c73e0 Signed-off-by: Vernon Mauery --- message_handler.hpp | 53 ++++------------------------------------------------- 1 file changed, 4 insertions(+), 49 deletions(-) (limited to 'message_handler.hpp') diff --git a/message_handler.hpp b/message_handler.hpp index c620a9d..599b3d6 100644 --- a/message_handler.hpp +++ b/message_handler.hpp @@ -6,7 +6,6 @@ #include "sol/console_buffer.hpp" #include -#include namespace message { @@ -24,10 +23,10 @@ class Handler Handler() = delete; ~Handler() = default; - Handler(const Handler&) = default; - Handler& operator=(const Handler&) = default; - Handler(Handler&&) = default; - Handler& operator=(Handler&&) = default; + Handler(const Handler&) = delete; + Handler& operator=(const Handler&) = delete; + Handler(Handler&&) = delete; + Handler& operator=(Handler&&) = delete; /** * @brief Receive the IPMI packet @@ -94,50 +93,6 @@ class Handler std::shared_ptr channel; parser::SessionHeader sessionHeader = parser::SessionHeader::IPMI20; - - /** - * @brief Create the response IPMI message - * - * The IPMI outgoing message is constructed out of payload and the - * corresponding fields are populated.For the payload type IPMI, the - * LAN message header and trailer are added. - * - * @tparam[in] T - Outgoing message payload type - * @param[in] output - Payload for outgoing message - * @param[in] inMessage - Incoming IPMI message - * - * @return Outgoing message on success and nullptr on failure - */ - template - std::shared_ptr createResponse(std::vector& output, - std::shared_ptr inMessage) - { - auto outMessage = std::make_shared(); - outMessage->payloadType = T; - outMessage->payload = output; - return outMessage; - } - - /** - * @brief Extract the command from the IPMI payload - * - * @param[in] message - Incoming message - * - * @return Command ID in the incoming message - */ - uint32_t getCommand(std::shared_ptr message); - - /** - * @brief Calculate 8 bit 2's complement checksum - * - * Initialize checksum to 0. For each byte, checksum = (checksum + byte) - * modulo 256. Then checksum = - checksum. When the checksum and the - * bytes are added together, modulo 256, the result should be 0. - */ - uint8_t crc8bit(const uint8_t* ptr, const size_t len) - { - return (0x100 - std::accumulate(ptr, ptr + len, 0)); - } }; } // namespace message -- cgit v1.2.1