src/server/daemon/event.h

changeset 30
27c7511c0e34
parent 29
e8619defde14
child 35
4417619a9bbd
equal deleted inserted replaced
29:e8619defde14 30:27c7511c0e34
28 28
29 #ifndef EVENT_H 29 #ifndef EVENT_H
30 #define EVENT_H 30 #define EVENT_H
31 31
32 #include "../public/nsapi.h" 32 #include "../public/nsapi.h"
33 #include "../ucx/string.h"
33 34
34 #ifdef __cplusplus 35 #ifdef __cplusplus
35 extern "C" { 36 extern "C" {
36 #endif 37 #endif
37 38
47 event_func fn; 48 event_func fn;
48 intptr_t object; 49 intptr_t object;
49 void *cookie; 50 void *cookie;
50 }; 51 };
51 52
53 typedef struct event_handler_conf {
54 sstr_t name;
55 int nthreads;
56 int isdefault;
57 } EventHandlerConfig;
58
59 typedef struct event_handler_object {
60 event_handler_t *handler;
61 int nthreads;
62 } EventHandlerObject;
63
64 int create_event_handler(EventHandlerConfig *cfg);
65
66 int check_event_handler_cfg();
67
68 /* implementation in event_$platform */
52 event_handler_t* evhandler_create(int numthreads); 69 event_handler_t* evhandler_create(int numthreads);
53 70
54 int ev_pollin(event_handler_t *h, int fd, event_t *event); 71 int ev_pollin(event_handler_t *h, int fd, event_t *event);
55 72
56 int ev_pollout(event_handler_t *h, int fd, event_t *event); 73 int ev_pollout(event_handler_t *h, int fd, event_t *event);

mercurial