зеркало из https://github.com/microsoft/CCF.git
35 строки
1.0 KiB
C++
35 строки
1.0 KiB
C++
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the Apache 2.0 License.
|
|
#pragma once
|
|
|
|
#include "ccf/kv/map.h"
|
|
#include "ccf/kv/set.h"
|
|
#include "ccf/kv/value.h"
|
|
|
|
namespace ccf
|
|
{
|
|
// This type should be used for most service key-value maps so that:
|
|
// - The raw key is trivially and cheaply deserialisable.
|
|
// - The JSON value can conveniently be audited offline.
|
|
// Note: Maps which include large values (e.g. certificate or serialised
|
|
// Merkle tree) can use the `kv::RawCopySerialisedMap` type to maximise
|
|
// performance.
|
|
template <typename K, typename V>
|
|
using ServiceMap = kv::MapSerialisedWith<
|
|
K,
|
|
V,
|
|
kv::serialisers::BlitSerialiser,
|
|
kv::serialisers::JsonSerialiser>;
|
|
|
|
template <typename V>
|
|
using ServiceValue = kv::ValueSerialisedWith<
|
|
V,
|
|
kv::serialisers::JsonSerialiser,
|
|
kv::serialisers::ZeroBlitUnitCreator>;
|
|
|
|
template <typename K>
|
|
using ServiceSet = kv::SetSerialisedWith<
|
|
K,
|
|
kv::serialisers::BlitSerialiser,
|
|
kv::serialisers::ZeroBlitUnitCreator>;
|
|
} |