CCF
Loading...
Searching...
No Matches
ledger_enclave_types.h
Go to the documentation of this file.
1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the Apache 2.0 License.
3#pragma once
4
6
7#include <span>
8
9namespace consensus
10{
11 using Index = uint64_t;
12
18
21 {
23 DEFINE_RINGBUFFER_MSG_TYPE(ledger_get_range),
24
26 DEFINE_RINGBUFFER_MSG_TYPE(ledger_entry_range),
27 DEFINE_RINGBUFFER_MSG_TYPE(ledger_no_entry_range),
28
30 DEFINE_RINGBUFFER_MSG_TYPE(ledger_append),
31 DEFINE_RINGBUFFER_MSG_TYPE(ledger_truncate),
32 DEFINE_RINGBUFFER_MSG_TYPE(ledger_commit),
33 DEFINE_RINGBUFFER_MSG_TYPE(ledger_init),
34 DEFINE_RINGBUFFER_MSG_TYPE(ledger_open),
35
37 DEFINE_RINGBUFFER_MSG_TYPE(snapshot_allocate),
38 DEFINE_RINGBUFFER_MSG_TYPE(snapshot_commit),
39
41 DEFINE_RINGBUFFER_MSG_TYPE(snapshot_allocated),
42 };
43}
44
46 ::consensus::ledger_get_range,
51 ::consensus::ledger_entry_range,
55 std::vector<uint8_t>);
57 ::consensus::ledger_no_entry_range,
61
63 ::consensus::ledger_init,
64 ::consensus::Index /* start idx */,
65 ::consensus::Index /* recovery start idx */);
67 ::consensus::ledger_append, bool /* committable */, std::vector<uint8_t>);
69 ::consensus::ledger_truncate, ::consensus::Index, bool /* recovery mode */);
71 ::consensus::ledger_commit, ::consensus::Index);
72DECLARE_RINGBUFFER_MESSAGE_NO_PAYLOAD(::consensus::ledger_open);
74 ::consensus::snapshot_allocate,
75 ::consensus::Index /* snapshot idx */,
76 ::consensus::Index /* evidence idx */,
77 size_t /* size to allocate */,
78 uint32_t /* unique request id */);
80 ::consensus::snapshot_allocated,
81 std::span<uint8_t>, /* span to host-allocated memory for snapshot */
82 uint32_t /* unique request id */);
84 ::consensus::snapshot_commit,
85 ::consensus::Index /* snapshot idx */,
86 std::vector<uint8_t> /* serialised receipt */);
Definition consensus_types.h:23
@ DEFINE_RINGBUFFER_MSG_TYPE
Request range of ledger entries. Enclave -> Host.
Definition ledger_enclave_types.h:23
uint64_t Index
Definition ledger_enclave_types.h:11
LedgerRequestPurpose
Definition ledger_enclave_types.h:14
@ HistoricalQuery
Definition ledger_enclave_types.h:16
@ Recovery
Definition ledger_enclave_types.h:15
uint32_t Message
Definition ring_buffer_types.h:19
#define DECLARE_RINGBUFFER_MESSAGE_PAYLOAD(MTYPE,...)
Definition ring_buffer_types.h:179
#define DECLARE_RINGBUFFER_MESSAGE_NO_PAYLOAD(MTYPE)
Definition ring_buffer_types.h:173