Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
header.hpp
Go to the documentation of this file.
1
#pragma once
2
#include "
barretenberg/serialize/msgpack.hpp
"
3
#include <cstdint>
4
#include <cstring>
5
6
namespace
bb::messaging
{
7
8
enum
SystemMsgTypes
{
TERMINATE
= 0,
PING
= 1,
PONG
= 2 };
9
10
const
uint32_t
FIRST_APP_MSG_TYPE
= 100;
11
12
// #pragma pack(push, 1)
13
struct
MsgHeader
{
14
uint32_t
messageId
;
// Unique Id for the message
15
uint32_t
requestId
;
// Id of the message this is responding too (may not be used)
16
17
MSGPACK_FIELDS
(
messageId
,
requestId
);
18
19
MsgHeader
() =
default
;
20
21
MsgHeader
(uint32_t reqId)
22
:
requestId
(reqId)
23
{}
24
25
MsgHeader
(uint32_t msgId, uint32_t reqId)
26
:
messageId
(msgId)
27
,
requestId
(reqId)
28
{}
29
};
30
31
struct
HeaderOnlyMessage
{
32
uint32_t
msgType
;
33
MsgHeader
header
;
34
35
HeaderOnlyMessage
(uint32_t type,
MsgHeader
& hdr)
36
:
msgType
(type)
37
,
header
(hdr)
38
{}
39
40
HeaderOnlyMessage
() =
default
;
41
42
MSGPACK_FIELDS
(
msgType
,
header
);
43
};
44
45
template
<
class
T>
struct
TypedMessage
{
46
uint32_t
msgType
;
47
MsgHeader
header
;
48
T
value
;
49
50
TypedMessage
(uint32_t type,
MsgHeader
& hdr,
const
T& val)
51
:
msgType
(type)
52
,
header
(hdr)
53
,
value
(val)
54
{}
55
56
TypedMessage
() =
default
;
57
58
MSGPACK_FIELDS
(
msgType
,
header
,
value
);
59
};
60
61
// #pragma pack(pop)
62
}
// namespace bb::messaging
msgpack.hpp
bb::messaging
Definition
dispatcher.hpp:15
bb::messaging::SystemMsgTypes
SystemMsgTypes
Definition
header.hpp:8
bb::messaging::PONG
@ PONG
Definition
header.hpp:8
bb::messaging::TERMINATE
@ TERMINATE
Definition
header.hpp:8
bb::messaging::PING
@ PING
Definition
header.hpp:8
bb::messaging::FIRST_APP_MSG_TYPE
const uint32_t FIRST_APP_MSG_TYPE
Definition
header.hpp:10
bb::messaging::HeaderOnlyMessage
Definition
header.hpp:31
bb::messaging::HeaderOnlyMessage::header
MsgHeader header
Definition
header.hpp:33
bb::messaging::HeaderOnlyMessage::msgType
uint32_t msgType
Definition
header.hpp:32
bb::messaging::HeaderOnlyMessage::HeaderOnlyMessage
HeaderOnlyMessage()=default
bb::messaging::HeaderOnlyMessage::MSGPACK_FIELDS
MSGPACK_FIELDS(msgType, header)
bb::messaging::HeaderOnlyMessage::HeaderOnlyMessage
HeaderOnlyMessage(uint32_t type, MsgHeader &hdr)
Definition
header.hpp:35
bb::messaging::MsgHeader
Definition
header.hpp:13
bb::messaging::MsgHeader::requestId
uint32_t requestId
Definition
header.hpp:15
bb::messaging::MsgHeader::messageId
uint32_t messageId
Definition
header.hpp:14
bb::messaging::MsgHeader::MSGPACK_FIELDS
MSGPACK_FIELDS(messageId, requestId)
bb::messaging::MsgHeader::MsgHeader
MsgHeader(uint32_t msgId, uint32_t reqId)
Definition
header.hpp:25
bb::messaging::MsgHeader::MsgHeader
MsgHeader(uint32_t reqId)
Definition
header.hpp:21
bb::messaging::MsgHeader::MsgHeader
MsgHeader()=default
bb::messaging::TypedMessage
Definition
header.hpp:45
bb::messaging::TypedMessage::value
T value
Definition
header.hpp:48
bb::messaging::TypedMessage::TypedMessage
TypedMessage()=default
bb::messaging::TypedMessage::MSGPACK_FIELDS
MSGPACK_FIELDS(msgType, header, value)
bb::messaging::TypedMessage::TypedMessage
TypedMessage(uint32_t type, MsgHeader &hdr, const T &val)
Definition
header.hpp:50
bb::messaging::TypedMessage::header
MsgHeader header
Definition
header.hpp:47
bb::messaging::TypedMessage::msgType
uint32_t msgType
Definition
header.hpp:46
src
barretenberg
messaging
header.hpp
Generated by
1.9.8