diff -r f33974f0dce0 -r aa8393527b1e src/server/daemon/sessionhandler.h --- a/src/server/daemon/sessionhandler.h Thu Aug 31 16:29:49 2017 +0200 +++ b/src/server/daemon/sessionhandler.h Sat Jan 13 19:01:00 2018 +0100 @@ -31,6 +31,7 @@ #include "../util/thrpool.h" #include "../public/nsapi.h" +#include "../util/io.h" #include "event.h" #include @@ -72,6 +73,11 @@ * available */ void(*keep_alive)(SessionHandler*, Connection *conn); + + /* + * Creates an IOStream object for the connection + */ + IOStream*(*create_iostream)(SessionHandler *sh, Connection *conn, pool_handle_t *pool, WSBool *ssl); }; /* @@ -93,7 +99,7 @@ */ typedef struct _event_session_handler { SessionHandler sh; - event_handler_t *eventhandler; + EVHandler *eventhandler; } EventSessionHandler; /* @@ -111,6 +117,16 @@ void connection_destroy(Connection *conn); +/* + * generic create_iostream function for BasicSessionHandler + * and EventSessionHandler + */ +IOStream* create_connection_iostream( + SessionHandler *sh, + Connection *conn, + pool_handle_t *pool, + WSBool *ssl); + SessionHandler* create_basic_session_handler(); @@ -125,9 +141,10 @@ void evt_enq_conn(SessionHandler *handler, Connection *conn); -int evt_request_input(event_handler_t *h, event_t *event); -int evt_request_finish(event_handler_t *h, event_t *event); -int evt_request_error(event_handler_t *h, event_t *event); +int evt_request_ssl_accept(EventHandler *handler, Event *event); +int evt_request_input(EventHandler *h, Event *event); +int evt_request_finish(EventHandler *h, Event *event); +int evt_request_error(EventHandler *h, Event *event); void evt_keep_alive(SessionHandler *handler, Connection *conn);