diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-07-18 17:29:39 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-07-18 17:29:39 -0700 |
| commit | 3eb60946ae8b5ad7d8a95233ffe946432acdb837 (patch) | |
| tree | 6bf6c678411a0e63731a624929fcb979781a9758 /src/platform/posix/posix_pollq.h | |
| parent | ab7772be3e3c208a48408b67924d3b58fca7f474 (diff) | |
| download | nng-3eb60946ae8b5ad7d8a95233ffe946432acdb837.tar.gz nng-3eb60946ae8b5ad7d8a95233ffe946432acdb837.tar.bz2 nng-3eb60946ae8b5ad7d8a95233ffe946432acdb837.zip | |
Sometimes providers don't clear the prov data details. (Backoff).
Diffstat (limited to 'src/platform/posix/posix_pollq.h')
| -rw-r--r-- | src/platform/posix/posix_pollq.h | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/platform/posix/posix_pollq.h b/src/platform/posix/posix_pollq.h index e42b120d..9fa7c92e 100644 --- a/src/platform/posix/posix_pollq.h +++ b/src/platform/posix/posix_pollq.h @@ -25,22 +25,26 @@ typedef struct nni_posix_pollq_node nni_posix_pollq_node; typedef struct nni_posix_pollq nni_posix_pollq; struct nni_posix_pollq_node { - nni_posix_pollq *pq; // associated pollq nni_list_node node; // linkage into the pollq list + nni_posix_pollq *pq; // associated pollq int index; // used by the poller impl int armed; // used by the poller impl int fd; // file descriptor to poll int events; // events to watch for int revents; // events received - void * data; // user data - nni_cb cb; // user callback on event + nni_taskq_ent task; + void * data; // user data + nni_cb cb; // user callback on event }; extern nni_posix_pollq *nni_posix_pollq_get(int); -extern int nni_posix_pollq_submit(nni_posix_pollq *, nni_posix_pollq_node *); -extern void nni_posix_pollq_cancel(nni_posix_pollq *, nni_posix_pollq_node *); -extern int nni_posix_pollq_sysinit(void); -extern void nni_posix_pollq_sysfini(void); +extern int nni_posix_pollq_sysinit(void); +extern void nni_posix_pollq_sysfini(void); + +extern int nni_posix_pollq_add(nni_posix_pollq *, nni_posix_pollq_node *); +extern void nni_posix_pollq_remove(nni_posix_pollq_node *); +extern void nni_posix_pollq_arm(nni_posix_pollq_node *, int); +extern void nni_posix_pollq_disarm(nni_posix_pollq_node *, int); #endif // PLATFORM_POSIX |
