src/server/daemon/httplistener.h

changeset 19
d680536f8c2f
parent 14
b8bf95b39952
child 36
450d2d5f4735
equal deleted inserted replaced
18:73aacbf6e492 19:d680536f8c2f
33 33
34 #ifdef __cplusplus 34 #ifdef __cplusplus
35 extern "C" { 35 extern "C" {
36 #endif 36 #endif
37 37
38 typedef struct _http_listener HttpListener; 38 /* HttpListener typedef in nsapi.h */
39 typedef struct _acceptor Acceptor; 39 typedef struct _acceptor Acceptor;
40 typedef struct _listener_config ListenerConfig; 40 typedef struct _listener_config ListenerConfig;
41 41
42
43 union vs {
44 VirtualServer *vs;
45 char *vs_name;
46 };
42 struct _listener_config { 47 struct _listener_config {
43 char *name; 48 sstr_t name;
49 sstr_t vs;
44 char *address; 50 char *address;
45 int port; 51 int port;
46 int nacceptors; 52 int nacceptors;
47 }; 53 };
48 54
50 pthread_t tid; 56 pthread_t tid;
51 HttpListener *listener; 57 HttpListener *listener;
52 }; 58 };
53 59
54 struct _http_listener { 60 struct _http_listener {
61 sstr_t name;
62 union vs default_vs;
63 int port;
55 int server_socket; 64 int server_socket;
56 Acceptor **acceptors; 65 Acceptor **acceptors;
57 int nacceptors; 66 int nacceptors;
58 SessionHandler *session_handler; 67 SessionHandler *session_handler;
59 }; 68 };
60 69
61 int start_all_listener(); 70 int start_all_listener();
62 HttpListener* get_http_listener(char *name);
63
64 71
65 HttpListener* http_listener_new(ListenerConfig *conf); 72 HttpListener* http_listener_new(ListenerConfig *conf);
66 73
67 int http_listener_start(HttpListener *listener); 74 int http_listener_start(HttpListener *listener);
68
69 75
70 Acceptor* acceptor_new(HttpListener *listener); 76 Acceptor* acceptor_new(HttpListener *listener);
71 77
72 void acceptor_start(Acceptor *a); 78 void acceptor_start(Acceptor *a);
73 79

mercurial