pub enum MessageOperation {
    NO_OP = 0,
    LOCKER_SIGN_TRANSACTION,
    LOCKER_SIGN_RESPONSE,
    SAMPLE_TRANSACTION_STATE_QUERY,
    SAMPLE_TRANSACTION_STATE_RESPONSE,
    SAMPLE_RANGE_TRANSACTION_STATE_QUERY,
    SYNC_STATE,
    BROADCAST_TRANSACTION,
    BROADCAST_ROUND_STATE_PROPOSAL,
    BROADCAST_ROUND_STATE_CONFIRMATION,
    ROUND_END_LOCKER_STATE_QUERY,
    ROUND_END_LOCKER_STATE_RESPONSE,
    IDENTIFICATION_PUBLIC_KEY_REQUEST,
    IDENTIFICATION_PUBLIC_KEY_RESPONSE,
    IDENTIFICATION_REQUEST_WITH_RESPONSE_PUBLIC_KEY,
    START_LATENCY_CHECK,
    LATENCY_REQUEST,
    ROUND_STREAM_REQUEST,
    ROUND_STREAM_RESPONSE,
    COUNT
}

pub struct Message {
    operation: MessageOperation;
    payload: Vec<u8>;
}
