1 #ifndef NDNDPDK_DISK_STORE_H
2 #define NDNDPDK_DISK_STORE_H
6 #include "../dpdk/bdev.h"
7 #include "../dpdk/hashtable.h"
8 #include "../dpdk/spdk-thread.h"
9 #include "../ndni/packet.h"
45 struct spdk_thread*
th;
46 struct spdk_io_channel*
ch;
62 __attribute__((nonnull))
static inline bool
75 __attribute__((nonnull))
void
94 __attribute__((nonnull))
void
bool Bdev_WritePrepare(Bdev *bd, struct rte_mbuf *pkt, BdevStoredPacket *sp)
Prepare writing according to bdev alignment requirements.
Definition: bdev.c:252
struct Packet Packet
Definition: common.h:11
void DiskStore_GetData(DiskStore *store, uint64_t slotID, Packet *npkt, struct rte_mbuf *dataBuf, BdevStoredPacket *sp)
Retrieve a Data packet.
Definition: store.c:273
void(* DiskStore_GetDataCb)(Packet *npkt, uintptr_t ctx)
DiskStore_GetData completion callback.
Definition: store.h:37
void DiskStore_PutData(DiskStore *store, uint64_t slotID, Packet *npkt, BdevStoredPacket *sp)
Store a Data packet.
Definition: store.c:257
struct DiskStoreRequest DiskStoreRequest
DiskStore request context.
struct DiskStoreSlimRequest DiskStoreSlimRequest
DiskStore compact request context.
Bdev I/O request.
Definition: bdev.h:55
Length and alignment descriptor of a stored packet.
Definition: bdev.h:21
Block device and related information.
Definition: bdev.h:64
DiskStore request context.
Definition: store.h:21
Packet * npkt
Definition: store.h:24
struct rte_mbuf * pkt
Definition: store.h:25
DiskStoreSlimRequest s
Definition: store.h:22
BdevRequest breq
Definition: store.h:27
DiskStore compact request context.
Definition: store.h:14
Packet * next
Definition: store.h:15
DiskStore * store
Definition: store.h:16
uint64_t slotID
Definition: store.h:17
Disk-backed Data packet store.
Definition: store.h:40
Bdev bdev
Definition: store.h:41
struct spdk_thread * th
Definition: store.h:45
uint64_t nBlocksPerSlot
Definition: store.h:42
uint64_t nGetDataFailure
Definition: store.h:55
uint64_t nPutDataFinish[2]
Definition: store.h:51
uint64_t nGetDataReuse
Definition: store.h:53
struct rte_hash * requestHt
Definition: store.h:43
DiskStore_GetDataCb getDataCb
Definition: store.h:47
DiskStoreRequest * requestArray
Definition: store.h:44
uint64_t nGetDataBegin
Definition: store.h:52
uintptr_t getDataCtx
Definition: store.h:48
struct spdk_io_channel * ch
Definition: store.h:46
uint64_t nPutDataBegin
Definition: store.h:50
uint64_t nGetDataSuccess
Definition: store.h:54