1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 #ifndef EVENT_H
30 #define EVENT_H
31
32 #include "../public/nsapi.h"
33 #include <ucx/string.h>
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38
39 typedef struct EVHandler {
40 EventHandler **instances;
41 uint32_t numins;
42 uint32_t current;
43 } EVHandler;
44
45 typedef struct event_handler_conf {
46 sstr_t name;
47 int nthreads;
48 int isdefault;
49 } EventHandlerConfig;
50
51 int create_event_handler(EventHandlerConfig *cfg);
52
53 int check_event_handler_cfg();
54
55 EVHandler* get_default_event_handler();
56
57 EVHandler* get_event_handler(
char *name);
58
59 EventHandler* ev_instance(EVHandler *ev);
60
61
62 EVHandler* evhandler_create(EventHandlerConfig *cfg);
63
64 int ev_pollin(EventHandler *h,
int fd, Event *event);
65 int ev_pollout(EventHandler *h,
int fd, Event *event);
66 int ev_remove_poll(EventHandler *h,
int fd);
67 int ev_send(EventHandler *h, Event *event);
68
69 int ev_aioread(
int fd, aiocb_s *cb);
70 int ev_aiowrite(
int fd, aiocb_s *cb);
71
72
73 #ifdef __cplusplus
74 }
75 #endif
76
77 #endif
78
79