78 WSBool ipv6; |
78 WSBool ipv6; |
79 }; |
79 }; |
80 |
80 |
81 struct _http_listener { |
81 struct _http_listener { |
82 ServerConfiguration *cfg; |
82 ServerConfiguration *cfg; |
83 cxmutstr name; |
83 cxmutstr name; |
84 union vs default_vs; |
84 union vs default_vs; |
85 int port; |
85 int port; |
86 WSSocket *server_socket; |
86 WSSocket *server_socket; |
87 WSSocket *server_socket6; |
87 WSSocket *server_socket6; |
88 SessionHandler *session_handler; |
88 SessionHandler *session_handler; |
126 |
126 |
127 int start_all_listener(); |
127 int start_all_listener(); |
128 |
128 |
129 HttpListener* http_listener_create(ListenerConfig *conf); |
129 HttpListener* http_listener_create(ListenerConfig *conf); |
130 |
130 |
131 // used by http_listener_create |
|
132 HttpListener* http_listener_new(ListenerConfig *conf); |
|
133 |
|
134 int http_listener_start(HttpListener *listener); |
131 int http_listener_start(HttpListener *listener); |
135 |
132 |
136 void http_listener_ref(HttpListener *listener); |
133 void http_listener_ref(HttpListener *listener); |
137 void http_listener_unref(HttpListener *listener); |
134 void http_listener_unref(HttpListener *listener); |
|
135 |
|
136 /* |
|
137 * returns true of l1 and l2 share the same socket |
|
138 */ |
|
139 int http_listener_socket_eq(HttpListener *l1, HttpListener *l2); |
|
140 |
|
141 /* |
|
142 * set the succeeding listener |
|
143 */ |
|
144 void http_listener_set_next(HttpListener *listener, HttpListener *next); |
138 |
145 |
139 Acceptor* acceptor_new(HttpListener *listener); |
146 Acceptor* acceptor_new(HttpListener *listener); |
140 |
147 |
141 void acceptor_start(Acceptor *a); |
148 void acceptor_start(Acceptor *a); |
142 |
149 |