Implement write queue for iomux
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
#ifndef UCORE_WQUEUE_H_
|
||||
#define UCORE_WQUEUE_H_
|
||||
|
||||
#include "mbuf.h"
|
||||
#include "iomux.h"
|
||||
|
||||
typedef int (*wqueue_write_cb)(struct IOMux *mux, struct IOMuxFD *fd, struct MBuf *mbuf);
|
||||
typedef int (*wqueue_read_cb)(struct IOMux *mux, struct IOMuxFD *fd);
|
||||
|
||||
struct UCWQueue {
|
||||
struct IOMuxFD fd;
|
||||
struct TailQ queue;
|
||||
struct IOMux *mux;
|
||||
wqueue_read_cb read_cb;
|
||||
wqueue_write_cb write_cb;
|
||||
|
||||
unsigned int queue_len;
|
||||
};
|
||||
|
||||
void uc_wqueue_init(struct UCWQueue *wqueue, struct IOMux *mux);
|
||||
|
||||
int uc_wqueue_clear(struct UCWQueue *wqueue);
|
||||
|
||||
int uc_wqueue_enqueue(struct UCWQueue *wqueue, struct MBuf *mbuf);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user