bpf/rbpf/Store.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "../../rbpf/common/Store.h"
4 #include <bpf/bpfapi/helpers.h>
5 
6 namespace rBPF
7 {
8 class LocalStore : public Store
9 {
10 public:
11  bool update(Key key, Value value) override
12  {
13  return bpf_store_local(key, value) == 0;
14  }
15 
16  bool fetch(Key key, Value& value) override
17  {
18  return bpf_fetch_local(key, &value) == 0;
19  }
20 };
21 
22 class GlobalStore : public Store
23 {
24 public:
25  bool update(Key key, Value value) override
26  {
27  return bpf_store_global(key, value) == 0;
28  }
29 
30  bool fetch(Key key, Value& value) override
31  {
32  return bpf_fetch_global(key, &value) == 0;
33  }
34 };
35 
36 } // namespace rBPF
void size_t const void * key
Definition: blake2s.h:33
Definition: bpf/rbpf/Store.h:23
bool update(Key key, Value value) override
Update value in store.
Definition: bpf/rbpf/Store.h:25
bool fetch(Key key, Value &value) override
Fetch value from store.
Definition: bpf/rbpf/Store.h:30
Definition: bpf/rbpf/Store.h:9
bool fetch(Key key, Value &value) override
Fetch value from store.
Definition: bpf/rbpf/Store.h:16
bool update(Key key, Value value) override
Update value in store.
Definition: bpf/rbpf/Store.h:11
Definition: rbpf/common/Store.h:8
uint32_t Key
Definition: rbpf/common/Store.h:10
uint32_t Value
Definition: rbpf/common/Store.h:11
Definition: bpf/rbpf/Store.h:7