Program Listing for File fromhost_message.hpp

Return to documentation for file (network/fromhost_message.hpp)

#ifndef FROMHOST_MESSAGE_HPP
#define FROMHOST_MESSAGE_HPP

#include <cstdint>
#include <span>

struct ToFlxMessage {

    enum class Status {
        MessageOk,
        HeaderNotDecoded,
        MessageNotDecoded,
        InvalidMsgLength
    };

    uint32_t elink{};
    std::span<const uint8_t> payload{};
    Status status{ Status::MessageOk };

    static const char* statusToString(Status status) {
        switch (status) {
            case Status::MessageOk: return "MessageOk";
            case Status::HeaderNotDecoded: return "Header not decoded, not enough data";
            case Status::MessageNotDecoded: return "Message not decoded, not enough data";
            case Status::InvalidMsgLength: return "Invalid message length";
            default: return "Unknown status in ToFlxMessage";
        }
    }

};

#endif // FROMHOST_MESSAGE_HPP