jabberd2
2.2.16
|
#include <sys/epoll.h>
Go to the source code of this file.
Defines | |
#define | MIO_FUNCS |
#define | MIO_FD_VARS uint32_t events; |
#define | MIO_VARS |
#define | MIO_INIT_VARS(m) |
#define | MIO_FREE_VARS(m) |
#define | MIO_ALLOC_FD(m, rfd) _mio_alloc_fd(m, rfd) |
#define | MIO_FREE_FD(m, mfd) if(mfd)free(mfd) |
#define | MIO_REMOVE_FD(m, mfd) |
#define | MIO_CHECK(m, t) _mio_poll(m, t) |
#define | MIO_SET_READ(m, mfd) |
#define | MIO_SET_WRITE(m, mfd) |
#define | MIO_UNSET_READ(m, mfd) |
#define | MIO_UNSET_WRITE(m, mfd) |
#define | MIO_CAN_READ(m, iter) (MIO(m)->res_event[iter].events & (EPOLLIN|EPOLLERR|EPOLLHUP)) |
#define | MIO_CAN_WRITE(m, iter) (MIO(m)->res_event[iter].events & EPOLLOUT) |
#define | MIO_CAN_FREE(m) (!MIO(m)->defer_free) |
#define | MIO_INIT_ITERATOR(iter) int iter |
#define | MIO_ITERATE_RESULTS(m, retval, iter) for(MIO(m)->defer_free = 1, iter = 0; (iter < retval) || ((MIO(m)->defer_free = 0)); iter++) |
#define | MIO_ITERATOR_FD(m, iter) (MIO(m)->res_event[iter].data.ptr) |
#define MIO_FUNCS |
Definition at line 25 of file mio_epoll.h.
#define MIO_FD_VARS uint32_t events; |
Definition at line 50 of file mio_epoll.h.
#define MIO_VARS |
int defer_free; \
int epoll_fd; \
struct epoll_event res_event[32];
Definition at line 53 of file mio_epoll.h.
#define MIO_INIT_VARS | ( | m | ) |
do { \ MIO(m)->defer_free = 0; \ if ((MIO(m)->epoll_fd = epoll_create(maxfd)) < 0) \ { \ mio_debug(ZONE,"unable to initialize epoll mio"); \ free(m); \ return NULL; \ } \ } while(0)
Definition at line 58 of file mio_epoll.h.
Referenced by _mio_new().
#define MIO_FREE_VARS | ( | m | ) |
do { \ close(MIO(m)->epoll_fd); \ } while(0)
Definition at line 68 of file mio_epoll.h.
Referenced by _mio_free().
#define MIO_ALLOC_FD | ( | m, | |
rfd | |||
) | _mio_alloc_fd(m, rfd) |
Definition at line 74 of file mio_epoll.h.
Referenced by _mio_setup_fd().
#define MIO_FREE_FD | ( | m, | |
mfd | |||
) | if(mfd)free(mfd) |
Definition at line 75 of file mio_epoll.h.
Referenced by _mio_close(), _mio_accept(), and _mio_run().
#define MIO_REMOVE_FD | ( | m, | |
mfd | |||
) |
do { \ struct epoll_event event; \ event.events = 0; \ event.data.u64 = 0; \ event.data.ptr = mfd; \ epoll_ctl(MIO(m)->epoll_fd, EPOLL_CTL_DEL, \ mfd->mio_fd.fd, &event); \ } while (0)
Definition at line 77 of file mio_epoll.h.
Referenced by _mio_close(), and _mio_accept().
#define MIO_CHECK | ( | m, | |
t | |||
) | _mio_poll(m, t) |
Definition at line 87 of file mio_epoll.h.
Referenced by _mio_run().
#define MIO_SET_READ | ( | m, | |
mfd | |||
) |
do { \ struct epoll_event event; \ mfd->events |= EPOLLIN; \ event.events = mfd->events; \ event.data.u64 = 0; \ event.data.ptr = mfd; \ epoll_ctl(MIO(m)->epoll_fd, EPOLL_CTL_MOD, \ mfd->mio_fd.fd, &event); \ } while (0)
Definition at line 89 of file mio_epoll.h.
Referenced by _mio_read().
#define MIO_SET_WRITE | ( | m, | |
mfd | |||
) |
do { \ struct epoll_event event; \ mfd->events |= EPOLLOUT; \ event.events = mfd->events; \ event.data.u64 = 0; \ event.data.ptr = mfd; \ epoll_ctl(MIO(m)->epoll_fd, EPOLL_CTL_MOD, \ mfd->mio_fd.fd, &event); \ } while (0)
Definition at line 100 of file mio_epoll.h.
Referenced by _mio_write(), and _mio_connect().
#define MIO_UNSET_READ | ( | m, | |
mfd | |||
) |
do { \ struct epoll_event event; \ mfd->events &= ~EPOLLIN; \ event.events = mfd->events; \ event.data.u64 = 0; \ event.data.ptr = mfd; \ epoll_ctl(MIO(m)->epoll_fd, EPOLL_CTL_MOD, \ mfd->mio_fd.fd, &event); \ } while (0)
Definition at line 111 of file mio_epoll.h.
Referenced by _mio_run().
#define MIO_UNSET_WRITE | ( | m, | |
mfd | |||
) |
do { \ struct epoll_event event; \ mfd->events &= ~(EPOLLOUT); \ event.events = mfd->events; \ event.data.u64 = 0; \ event.data.ptr = mfd; \ epoll_ctl(MIO(m)->epoll_fd, EPOLL_CTL_MOD, \ mfd->mio_fd.fd, &event); \ } while (0)
Definition at line 121 of file mio_epoll.h.
Referenced by _mio__connect(), and _mio_run().
#define MIO_CAN_READ | ( | m, | |
iter | |||
) | (MIO(m)->res_event[iter].events & (EPOLLIN|EPOLLERR|EPOLLHUP)) |
Definition at line 133 of file mio_epoll.h.
Referenced by _mio_run().
#define MIO_CAN_WRITE | ( | m, | |
iter | |||
) | (MIO(m)->res_event[iter].events & EPOLLOUT) |
Definition at line 136 of file mio_epoll.h.
Referenced by _mio_run().
#define MIO_CAN_FREE | ( | m | ) | (!MIO(m)->defer_free) |
Definition at line 139 of file mio_epoll.h.
Referenced by _mio_close().
#define MIO_INIT_ITERATOR | ( | iter | ) | int iter |
Definition at line 141 of file mio_epoll.h.
Referenced by _mio_run().
#define MIO_ITERATE_RESULTS | ( | m, | |
retval, | |||
iter | |||
) | for(MIO(m)->defer_free = 1, iter = 0; (iter < retval) || ((MIO(m)->defer_free = 0)); iter++) |
Definition at line 144 of file mio_epoll.h.
Referenced by _mio_run().
#define MIO_ITERATOR_FD | ( | m, | |
iter | |||
) | (MIO(m)->res_event[iter].data.ptr) |
Definition at line 147 of file mio_epoll.h.
Referenced by _mio_run().