@@ -56,14 +56,11 @@ runTLSSocket tset set sock app = do
56 , TLS.pCertificates = zip certs $ (Just pk):repeat Nothing
56 , TLS.pCertificates = zip certs $ (Just pk):repeat Nothing
59− runSettingsConnection set (getter params sock) app
59+ runSettingsConnectionMaker set (getter params sock) app
61− retry :: Socket -> TLS.TLSParams -> Socket -> SomeException -> IO (Connection, SockAddr)
62− retry s a b _ = sClose s >> getter a b
64 getter params sock = do
61 getter params sock = do
65 (s, sa) <- accept sock
62 (s, sa) <- accept sock
66− handle (retry s params sock) $ do
63+ let mkConn = do
67 (fromClient, firstBS) <- sourceSocket s C.$$+ CL.peek
64 (fromClient, firstBS) <- sourceSocket s C.$$+ CL.peek
68 let toClient = sinkSocket s
65 let toClient = sinkSocket s
69 ifromClient <- I.newIORef fromClient
66 ifromClient <- I.newIORef fromClient
@@ -106,12 +103,13 @@ runTLSSocket tset set sock app = do
107 , connRecv = TLS.recvData ctx
104 , connRecv = TLS.recvData ctx
109− return (conn, sa)
106+ return conn
111 let conn = (socketConnection s)
108 let conn = (socketConnection s)
112 { connRecv = getNext $ fmap (fromMaybe B.empty) C.await
109 { connRecv = getNext $ fmap (fromMaybe B.empty) C.await
114− return (conn, sa)
111+ return conn
116runTLS :: TLSSettings -> Settings -> Application -> IO ()
114runTLS :: TLSSettings -> Settings -> Application -> IO ()
117runTLS tset set app =
115runTLS tset set app =