8#ifndef BOTAN_STATEFUL_KEY_INDEX_REGISTRY_H_
9#define BOTAN_STATEFUL_KEY_INDEX_REGISTRY_H_
11#include <botan/mutex.h>
12#include <botan/types.h>
40 KeyId(std::string_view algo_name,
42 std::span<const uint8_t> key_material_1,
43 std::span<const uint8_t> key_material_2);
50 std::array<uint8_t, 32> m_val;
85 typedef std::map<KeyId, uint64_t> RegistryMap;
87 RegistryMap::iterator lookup(
const KeyId& key_id);
92 RegistryMap m_registry;
auto operator<=>(const KeyId &other) const =default
KeyId(std::string_view algo_name, uint32_t algo_params, std::span< const uint8_t > key_material_1, std::span< const uint8_t > key_material_2)
uint64_t current_index(const KeyId &key_id)
Stateful_Key_Index_Registry & operator=(Stateful_Key_Index_Registry &&)=delete
Stateful_Key_Index_Registry & operator=(const Stateful_Key_Index_Registry &)=delete
Stateful_Key_Index_Registry(Stateful_Key_Index_Registry &&)=delete
void set_index_lower_bound(const KeyId &key_id, uint64_t min)
static Stateful_Key_Index_Registry & global()
Stateful_Key_Index_Registry(const Stateful_Key_Index_Registry &)=delete
~Stateful_Key_Index_Registry()
uint64_t reserve_next_index(const KeyId &key_id)
uint64_t remaining_operations(const KeyId &key_id, uint64_t max)