| Simple coroutine library integrated with IO event loop (libevent) / objects in plain C Snapshot | 
#include <corothread/cthread.h>#include <corothread/stacks.h>#include <sys/socket.h>#include <sys/types.h>#include <cutils/dlist.h>#include <nutils/addrutil.h>#include <event.h>Go to the source code of this file.
| Classes | |
| struct | tagEVLOOP | 
| struct | tagEVTHREAD | 
| struct | tagEVTHREAD_OBJECT | 
| base class of sockets and timers. API of this class is not not called directly by the user of this library.  More... | |
| struct | tagEVTIMER | 
| struct | tagEVSOCKET | 
| struct | tagTCPACCEPTOR | 
| Typedefs | |
| typedef struct tagEVLOOP | EVLOOP | 
| typedef void(* | EVTHREAD_PROC )(struct tagEVTHREAD *thread, struct tagEVSOCKET *socket, void *user_ctx) | 
| typedef struct tagEVTHREAD | EVTHREAD | 
| typedef struct tagEVTHREAD_OBJECT | EVTHREAD_OBJECT | 
| base class of sockets and timers. API of this class is not not called directly by the user of this library. | |
| typedef struct tagEVTIMER | EVTIMER | 
| typedef struct tagEVSOCKET | EVSOCKET | 
| typedef int(* | EVTHREAD_FACTORY )(int fd, EVTHREAD_PROC *proc, void **ctx, void *factory_ctx) | 
| typedef struct tagTCPACCEPTOR | EVTCPACCEPTOR | 
| Enumerations | |
| enum | EVTHREAD_OBJECT_TYPE { EVTHREAD_OBJECT_SOCKET, EVTHREAD_OBJECT_TIMER } | 
| enum | EVTIMERSTATE { EVTIMER_STATE_INIT, EVTIMER_STATE_SCHEDULED } | 
| enum | EVSOCKET_STATE { EVSOCKET_STATE_INIT, EVSOCKET_STATE_CONNECTING, EVSOCKET_STATE_CONNECTED, EVSOCKET_STATE_READING, EVSOCKET_STATE_WRITING, EVSOCKET_STATE_CLOSED, EVSOCKET_STATE_ERROR } | 
| Functions | |
| EVLOOP * | EVLOOP_init (STACKS *stacks) | 
| int | EVLOOP_run (EVLOOP *loop) | 
| int | EVLOOP_break (EVLOOP *loop) | 
| EVTHREAD * | EVTHREAD_init (EVLOOP *loop, EVTHREAD_PROC thread_proc, void *user_ctx) | 
| int | EVTHREAD_start (EVTHREAD *thread, struct tagEVSOCKET *socket) | 
| int | EVTHREAD_delay (EVTHREAD *thread, struct timeval delay) | 
| EVTIMER * | EVTIMER_init (EVTHREAD *thread, int timer_id, struct timeval tm) | 
| int | EVTIMER_start (EVTIMER *ret) | 
| int | EVTIMER_cancel (EVTIMER *timer) | 
| int | EVTIMER_free (EVTIMER *timer) | 
| EVSOCKET * | EVSOCKET_init (EVTHREAD *thread, int fd, int is_connected) | 
| int | EVSOCKET_close (EVSOCKET *socket) | 
| int | EVSOCKET_connect (EVSOCKET *socket, struct sockaddr *address, socklen_t socklen, struct timeval timeout) | 
| void | EVSOCKET_set_idle_timeout (EVSOCKET *socket, struct timeval timeout) | 
| int | EVSOCKET_recv (EVSOCKET *socket, void *buf, size_t buf_size, int flags, struct timeval timeout) | 
| int | EVSOCKET_recv_all (EVSOCKET *socket, void *buf, size_t buf_size, int flags, struct timeval timeout) | 
| int | EVSOCKET_send (EVSOCKET *socket, void *buf, size_t buf_size, int flags, struct timeval timeout) | 
| EVTCPACCEPTOR * | EVTCPACCEPTOR_init_ex (EVLOOP *loop, SOCKADDR *addr, int listener_backlog, EVTHREAD_FACTORY factory, int read_buffer_size, int write_buffer_size, void *ctx) | 
| EVTCPACCEPTOR * | EVTCPACCEPTOR_init (EVLOOP *loop, int listener_fd, EVTHREAD_FACTORY factory, int read_buffer_size, int write_buffer_size, void *ctx) | 
| void | EVTCPACCEPTOR_close (EVTCPACCEPTOR *) | 
| typedef struct tagEVTHREAD_OBJECT EVTHREAD_OBJECT | 
base class of sockets and timers. API of this class is not not called directly by the user of this library.
| enum EVTHREAD_OBJECT_TYPE | 
Definition at line 115 of file evthread.h.
 1.7.4
 1.7.4