src/server/daemon/sessionhandler.c

branch
aio
changeset 191
391ccd490d97
parent 188
0e6a05c779e0
child 192
6a145e13d933
--- a/src/server/daemon/sessionhandler.c	Fri Jan 12 18:36:47 2018 +0100
+++ b/src/server/daemon/sessionhandler.c	Sat Jan 13 16:44:05 2018 +0100
@@ -93,11 +93,25 @@
     free(conn);    
 }
 
+IOStream* create_connection_iostream(SessionHandler *sh, Connection *conn, pool_handle_t *pool, WSBool *ssl) {
+    IOStream *io = NULL;
+    if(conn->ssl) {
+        io = sslstream_new(pool, conn->ssl);
+        *ssl = 1;
+    } else {
+        io = sysstream_new(pool, conn->fd);
+        *ssl = 0;
+    }
+    return io;
+}
+
+
 SessionHandler* create_basic_session_handler() {
     BasicSessionHandler *handler = malloc(sizeof(BasicSessionHandler));
     handler->threadpool = threadpool_new(4, 8);
     handler->sh.enqueue_connection = basic_enq_conn;
     handler->sh.keep_alive = basic_keep_alive;
+    handler->sh.create_iostream = create_connection_iostream;
 
     return (SessionHandler*)handler;
 }
@@ -172,6 +186,7 @@
     handler->eventhandler = get_default_event_handler();
     handler->sh.enqueue_connection = evt_enq_conn;
     handler->sh.keep_alive = evt_keep_alive;
+    handler->sh.create_iostream = create_connection_iostream;
     return (SessionHandler*)handler;
 }
 

mercurial