CCF
Loading...
Searching...
No Matches
signature_cache_interface.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#include "ccf/tx_id.h"
8
9#include <optional>
10#include <vector>
11
12namespace ccf
13{
15 {
16 std::optional<PrimarySignature> sig;
17 std::optional<std::vector<uint8_t>> cose_signature;
18 std::vector<uint8_t> serialised_tree;
20 };
21
23 {
24 public:
25 ~SignatureCacheInterface() override = default;
26
27 static char const* get_subsystem_name()
28 {
29 return "SignatureCache";
30 }
31
32 // Returns the covering signature for a given seqno, or nullopt if
33 // unavailable. When a value is returned, Merkle tree and at least one of
34 // the signatures is populated, or both if present.
35 [[nodiscard]] virtual std::optional<CachedSignature> get_signature_for(
36 ccf::SeqNo seqno) const = 0;
37
38 virtual void set_max_cache_size(size_t n) = 0;
39 };
40}
Definition node_subsystem_interface.h:8
Definition signature_cache_interface.h:23
static char const * get_subsystem_name()
Definition signature_cache_interface.h:27
virtual std::optional< CachedSignature > get_signature_for(ccf::SeqNo seqno) const =0
~SignatureCacheInterface() override=default
virtual void set_max_cache_size(size_t n)=0
Definition app_interface.h:13
uint64_t SeqNo
Definition tx_id.h:36
Definition signature_cache_interface.h:15
std::vector< uint8_t > serialised_tree
Definition signature_cache_interface.h:18
ccf::SeqNo sig_seqno
Definition signature_cache_interface.h:19
std::optional< std::vector< uint8_t > > cose_signature
Definition signature_cache_interface.h:17
std::optional< PrimarySignature > sig
Definition signature_cache_interface.h:16