|
NDN-DPDK
High-Speed Named Data Networking Forwarder
|
#include "../dpdk/bdev.h"#include "../dpdk/hashtable.h"#include "../dpdk/spdk-thread.h"#include "../ndni/packet.h"Go to the source code of this file.
Data Structures | |
| struct | DiskStoreSlimRequest |
| DiskStore compact request context. More... | |
| struct | DiskStoreRequest |
| DiskStore request context. More... | |
| struct | DiskStore |
| Disk-backed Data packet store. More... | |
Typedefs | |
| typedef struct DiskStore | DiskStore |
| typedef struct DiskStoreSlimRequest | DiskStoreSlimRequest |
| DiskStore compact request context. More... | |
| typedef struct DiskStoreRequest | DiskStoreRequest |
| DiskStore request context. More... | |
| typedef void(* | DiskStore_GetDataCb) (Packet *npkt, uintptr_t ctx) |
| DiskStore_GetData completion callback. More... | |
Functions | |
| void | DiskStore_PutData (DiskStore *store, uint64_t slotID, Packet *npkt, BdevStoredPacket *sp) |
| Store a Data packet. More... | |
| void | DiskStore_GetData (DiskStore *store, uint64_t slotID, Packet *npkt, struct rte_mbuf *dataBuf, BdevStoredPacket *sp) |
| Retrieve a Data packet. More... | |
| typedef void(* DiskStore_GetDataCb) (Packet *npkt, uintptr_t ctx) |
DiskStore_GetData completion callback.
| npkt | Interest packet. |
| ctx | store->getDataCtx . |
This function is invoked on store->th thread.
| typedef struct DiskStoreRequest DiskStoreRequest |
DiskStore request context.
| typedef struct DiskStoreSlimRequest DiskStoreSlimRequest |
DiskStore compact request context.
| void DiskStore_GetData | ( | DiskStore * | store, |
| uint64_t | slotID, | ||
| Packet * | npkt, | ||
| struct rte_mbuf * | dataBuf, | ||
| BdevStoredPacket * | sp | ||
| ) |
Retrieve a Data packet.
| slotID | disk slot number. |
| npkt | an Interest packet. DiskStore takes ownership until callback. |
| dataBuf | a uniquely owned, unsegmented, direct mbuf for Data packet. DiskStore takes ownership until callback. |
| sp | same BdevStoredPacket used during PutData, will be copied. |
This function asynchronously reads from a specified slot of the underlying disk, and parses the content as a Data packet. Upon success, it assigns interest->diskSlot and interest->diskData . Upon failure, it assigns interest->diskSlot and clears interest->diskData . It then calls store->getDataCb with the npkt .
This function may be invoked on any thread, including non-SPDK thread.
| void DiskStore_PutData | ( | DiskStore * | store, |
| uint64_t | slotID, | ||
| Packet * | npkt, | ||
| BdevStoredPacket * | sp | ||
| ) |
Store a Data packet.
| slotID | disk slot number; slot 0 cannot be used. |
| npkt | a Data packet. DiskStore takes ownership. |
| sp | output of a successful DiskStore_PrepareData . |
This function may be invoked on any thread, including non-SPDK thread.