You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[] File descriptor event polling in libmemif (optional)
15
-
-[] Simplify file descriptor event polling (one handler for control and interrupt channel)
14
+
-[x] File descriptor event polling in libmemif (optional)
15
+
-[x] Simplify file descriptor event polling (one handler for control and interrupt channel)
16
16
-[ ] Multiple connections
17
17
-[ ] Multiple regions
18
18
-[ ] Multipe queues
@@ -72,6 +72,10 @@ For detailed information on api calls and structures please refer to [libmemif.h
72
72
73
73
> If event occures on any file descriptor returned by this callback, call memif\_control\_fd\_handler function.
74
74
75
+
WIP:
76
+
If callback function parameter for memif\_init function is set to NULL, libmemif will handle file descriptor event polling.
77
+
Api call memif\_poll\_event will call epoll\_pwait wit user defined timeout to poll event on file descriptors opend by libmemif.
78
+
75
79
> Mmeif initialization function will initialize internal structures and create timer file descriptor, which will be used for sending periodic connection requests. Timer is disarmed if no memif interface is created.
76
80
77
81
2. Creating interface
@@ -88,9 +92,7 @@ For detailed information on api calls and structures please refer to [libmemif.h
88
92
- Once connection has been established, a callback will inform the user about connection status change.
89
93
90
94
4. Interrupt packet receive
91
-
- Interrupt mode is still Work In Progress and will be simplified in furure patch.
92
-
- For interrupt mode, user application is required to register interrupt file descriptor for event polling. Api call memif\_get\_queue\_efd will return this interrupt file descriptor.
93
-
- If event occures on this file descriptor, there are packets in shared memory to be received.
95
+
- If event is polled on interrupt file descriptor, libmemif will call memif\_interrupt\_t callback specified for every connection instance.
94
96
95
97
6. Memif buffers
96
98
- Packet data are stored in memif\_buffer\_t. Pointer _data_ points to shared memory buffer, and unsigned integer *data\_len* contains packet data length.
@@ -118,10 +120,15 @@ For detailed information on api calls and structures please refer to [libmemif.h
0 commit comments