NDN-DPDK
High-Speed Named Data Networking Forwarder
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
rxepoll.h
Go to the documentation of this file.
1 #ifndef NDNDPDK_SOCKETFACE_RXEPOLL_H
2 #define NDNDPDK_SOCKETFACE_RXEPOLL_H
3 
6 #include "../iface/rxloop.h"
7 #include <sys/epoll.h>
8 
10 typedef struct SocketRxEpoll {
12  struct rte_mempool* directMp;
13  uint64_t nTruncated;
14  int epfd;
15  uint16_t msgIndex;
16  struct rte_mbuf* mbufs[2 * MaxBurstSize];
17  struct iovec iov[2 * MaxBurstSize];
18  struct mmsghdr msgs[2 * MaxBurstSize];
20 
21 __attribute__((nonnull)) void
22 SocketRxEpoll_PrepareEvent(struct epoll_event* e, FaceID id, int fd);
23 
24 __attribute__((nonnull)) void
26 
27 #endif // NDNDPDK_SOCKETFACE_RXEPOLL_H
uint16_t FaceID
Numeric face identifier.
Definition: faceid.h:13
@ MaxBurstSize
Definition: enum.h:7
void SocketRxEpoll_PrepareEvent(struct epoll_event *e, FaceID id, int fd)
Definition: rxepoll.c:12
struct SocketRxEpoll SocketRxEpoll
RX from datagram sockets using epoll.
void SocketRxEpoll_RxBurst(RxGroup *rxg, RxGroupBurstCtx *ctx)
Definition: rxepoll.c:70
Context of RxGroup_RxBurstFunc operation.
Definition: rxloop.h:12
Receive channel for faces.
Definition: rxloop.h:39
RX from datagram sockets using epoll.
Definition: rxepoll.h:10
struct mmsghdr msgs[2 *MaxBurstSize]
Definition: rxepoll.h:18
struct rte_mempool * directMp
Definition: rxepoll.h:12
uint16_t msgIndex
Definition: rxepoll.h:15
RxGroup base
Definition: rxepoll.h:11
uint64_t nTruncated
Definition: rxepoll.h:13
struct rte_mbuf * mbufs[2 *MaxBurstSize]
Definition: rxepoll.h:16
struct iovec iov[2 *MaxBurstSize]
Definition: rxepoll.h:17
int epfd
Definition: rxepoll.h:14