Electroneum
val_kcache.h
Go to the documentation of this file.
1
/*
2
* validator/val_kcache.h - validator key shared cache with validated keys
3
*
4
* Copyright (c) 2007, NLnet Labs. All rights reserved.
5
*
6
* This software is open source.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions
10
* are met:
11
*
12
* Redistributions of source code must retain the above copyright notice,
13
* this list of conditions and the following disclaimer.
14
*
15
* Redistributions in binary form must reproduce the above copyright notice,
16
* this list of conditions and the following disclaimer in the documentation
17
* and/or other materials provided with the distribution.
18
*
19
* Neither the name of the NLNET LABS nor the names of its contributors may
20
* be used to endorse or promote products derived from this software without
21
* specific prior written permission.
22
*
23
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
27
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
29
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
30
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
31
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
32
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
*/
35
42
#ifndef VALIDATOR_VAL_KCACHE_H
43
#define VALIDATOR_VAL_KCACHE_H
44
#include "
util/storage/slabhash.h
"
45
struct
key_entry_key
;
46
struct
key_entry_data
;
47
struct
config_file
;
48
struct
regional
;
49
struct
module_qstate
;
50
54
struct
key_cache
{
56
struct
slabhash
*
slab
;
57
};
58
64
struct
key_cache
*
key_cache_create
(
struct
config_file
* cfg);
65
70
void
key_cache_delete
(
struct
key_cache
* kcache);
71
81
void
key_cache_insert
(
struct
key_cache
* kcache,
struct
key_entry_key
* kkey,
82
struct
module_qstate
* qstate);
83
91
void
key_cache_remove
(
struct
key_cache
* kcache,
92
uint8_t
*
name
,
size_t
namelen,
uint16_t
key_class);
93
107
struct
key_entry_key
*
key_cache_obtain
(
struct
key_cache
* kcache,
108
uint8_t
*
name
,
size_t
namelen
,
uint16_t
key_class
,
109
struct
regional
* region, time_t now);
110
116
size_t
key_cache_get_mem
(
struct
key_cache
* kcache);
117
118
#endif
/* VALIDATOR_VAL_KCACHE_H */
key_cache_obtain
struct key_entry_key * key_cache_obtain(struct key_cache *kcache, uint8_t *name, size_t namelen, uint16_t key_class, struct regional *region, time_t now)
module_qstate
Definition:
module.h:571
uint16_t
unsigned short uint16_t
Definition:
stdint.h:125
uint8_t
unsigned char uint8_t
Definition:
stdint.h:124
el::base::consts::name
const char * name
Definition:
easylogging++.h:795
key_entry_key::key_class
uint16_t key_class
Definition:
val_kentry.h:63
regional
Definition:
regional.h:59
slabhash
Definition:
slabhash.h:57
key_cache_get_mem
size_t key_cache_get_mem(struct key_cache *kcache)
key_cache
Definition:
val_kcache.h:54
config_file
Definition:
config_file.h:68
key_cache_delete
void key_cache_delete(struct key_cache *kcache)
key_entry_data
Definition:
val_kentry.h:76
slabhash.h
key_cache_insert
void key_cache_insert(struct key_cache *kcache, struct key_entry_key *kkey, struct module_qstate *qstate)
key_cache_create
struct key_cache * key_cache_create(struct config_file *cfg)
key_cache::slab
struct slabhash * slab
Definition:
val_kcache.h:56
key_entry_key
Definition:
val_kentry.h:55
key_entry_key::namelen
size_t namelen
Definition:
val_kentry.h:61
key_cache_remove
void key_cache_remove(struct key_cache *kcache, uint8_t *name, size_t namelen, uint16_t key_class)
external
unbound
validator
val_kcache.h
Generated on Sun Mar 10 2024 12:00:00 for Electroneum by
1.8.14