DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
dpdklibs
src
DpdkMempool.cpp
Go to the documentation of this file.
1
8
#include "
dpdklibs/DpdkMempool.hpp
"
9
10
#include <rte_mempool.h>
11
12
#include <map>
13
#include <memory>
14
15
namespace
dunedaq::dpdklibs
{
16
17
void
18
MempoolDeleter::operator()
(rte_mempool* pool)
const
noexcept
19
{
20
if
(pool !=
nullptr
) {
21
rte_mempool_free(pool);
22
}
23
}
24
25
unique_mempool
26
take_mempool_ownership
(std::unique_ptr<rte_mempool>&& legacy)
27
{
28
return
unique_mempool
(legacy.release());
29
}
30
31
BorrowedPoolMap::~BorrowedPoolMap
()
32
{
33
for
(
auto
& [index, pool] :
m_map
) {
// NOLINT(readability-qualified-auto)
34
pool.release();
// NOLINT(bugprone-unused-return-value) borrowed; not owned by this map
35
}
36
}
37
38
void
39
BorrowedPoolMap::borrow
(
int
index, rte_mempool* pool)
40
{
41
m_map
[index].reset(pool);
42
}
43
44
std::map<int, std::unique_ptr<rte_mempool>>&
45
BorrowedPoolMap::get
()
46
{
47
return
m_map
;
48
}
49
50
}
// namespace dunedaq::dpdklibs
DpdkMempool.hpp
dunedaq::dpdklibs::BorrowedPoolMap::borrow
void borrow(int index, rte_mempool *pool)
Definition
DpdkMempool.cpp:39
dunedaq::dpdklibs::BorrowedPoolMap::get
std::map< int, std::unique_ptr< rte_mempool > > & get()
Definition
DpdkMempool.cpp:45
dunedaq::dpdklibs::BorrowedPoolMap::m_map
std::map< int, std::unique_ptr< rte_mempool > > m_map
Definition
DpdkMempool.hpp:66
dunedaq::dpdklibs::BorrowedPoolMap::~BorrowedPoolMap
~BorrowedPoolMap()
Definition
DpdkMempool.cpp:31
dunedaq::dpdklibs
Definition
ARP.hpp:16
dunedaq::dpdklibs::take_mempool_ownership
unique_mempool take_mempool_ownership(std::unique_ptr< rte_mempool > &&legacy)
Definition
DpdkMempool.cpp:26
dunedaq::dpdklibs::unique_mempool
std::unique_ptr< rte_mempool, MempoolDeleter > unique_mempool
Definition
DpdkMempool.hpp:42
dunedaq::dpdklibs::MempoolDeleter::operator()
void operator()(rte_mempool *pool) const noexcept
Definition
DpdkMempool.cpp:18
Generated on
for DUNE-DAQ by
1.18.0