CCF
Loading...
Searching...
No Matches
include
ccf
service
map.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
5
#include "
ccf/kv/map.h
"
6
#include "
ccf/kv/set.h
"
7
#include "
ccf/kv/unit_value.h
"
8
#include "
ccf/kv/value.h
"
9
10
namespace
ccf
11
{
12
// This type should be used for most service key-value maps so that:
13
// - The raw key is trivially and cheaply deserialisable.
14
// - The JSON value can conveniently be audited offline.
15
// Note: Maps which include large values (e.g. certificate or serialised
16
// Merkle tree) can use the `ccf::kv::RawCopySerialisedMap` type to maximise
17
// performance.
18
template
<
typename
K,
typename
V>
19
using
ServiceMap
=
ccf::kv::MapSerialisedWith
<
20
K,
21
V,
22
ccf::kv::serialisers::BlitSerialiser
,
23
ccf::kv::serialisers::JsonSerialiser
>;
24
25
template
<
typename
V>
26
using
ServiceValue
=
ccf::kv::ValueSerialisedWith
<
27
V,
28
ccf::kv::serialisers::JsonSerialiser
,
29
ccf::kv::serialisers::ZeroBlitUnitCreator
>;
30
31
template
<
typename
K>
32
using
ServiceSet
=
ccf::kv::SetSerialisedWith
<
33
K,
34
ccf::kv::serialisers::BlitSerialiser
,
35
ccf::kv::serialisers::ZeroBlitUnitCreator
>;
36
37
using
ServiceUnit
=
38
ccf::kv::UnitValue<ccf::kv::serialisers::ZeroBlitUnitCreator>
;
39
}
ccf::kv::TypedMap
Definition
map.h:30
ccf::kv::TypedSet
Definition
set.h:33
ccf::kv::TypedValue
Definition
value.h:32
ccf::kv::UnitValue
Definition
unit_value.h:22
map.h
ccf
Definition
app_interface.h:13
set.h
ccf::kv::serialisers::BlitSerialiser
Definition
blit_serialiser.h:14
ccf::kv::serialisers::JsonSerialiser
Definition
json_serialiser.h:17
ccf::kv::serialisers::ZeroBlitUnitCreator
Definition
unit.h:20
unit_value.h
value.h
Generated by
1.9.8