#ifndef OPENARMS_MESSAGES_MESSAGE_H
#define OPENARMS_MESSAGES_MESSAGE_H

#include <stdint.h>
#include <string>

namespace openarms{
namespace messages{

typedef uint32_t WORD_SIZE;
typedef uint8_t BYTE_SIZE;

enum class MessageType {
    HEADER,
    RECIPIENT,
    FETCH_MESSAGE,
    LAST_ELEMENT // should always be the last element of the enum class
};

struct Message
{
    MessageType type;
};

struct Header
{
    MessageType type;
    uint8_t num_messages;
    uint8_t num_bytes;
};
struct Recipient
{
    MessageType type;
    WORD_SIZE addres;
};

struct FetchMessage
{
    MessageType type;
    WORD_SIZE addres;
};



} // messages
} // openarms
#endif
