libpromeki 1.0.0-alpha
PROfessional MEdia toolKIt
 
Loading...
Searching...
No Matches
numa.h
Go to the documentation of this file.
1
8#pragma once
9
10
11#include <promeki/config.h>
12#if PROMEKI_ENABLE_CORE
13#include <cstddef>
14#include <promeki/namespace.h>
15#include <promeki/error.h>
16#include <promeki/string.h>
17
18PROMEKI_NAMESPACE_BEGIN
19
66class Numa {
67 public:
78 static constexpr int NodeAny = -1;
79
88 static bool isAvailable();
89
96 static int nodeCount();
97
105 static int maxNode();
106
132 static void *allocOnNode(size_t bytes, int node);
133
146 static Error free(void *ptr, size_t bytes);
147
160 static int nodeOfNic(const String &interfaceName);
161
170 static int nodeOfCpu(int cpu);
171
178 static int currentNode();
179
180 private:
181 Numa() = delete;
182};
183
184PROMEKI_NAMESPACE_END
185
186#endif // PROMEKI_ENABLE_CORE