From 3cf68ac0db0e5f839d3f1dd8f345e44584ed13f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sat, 25 Jul 2026 09:28:44 +0200 Subject: Move common WebSocket setup to the module --- src/WebSocket.hs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/WebSocket.hs') diff --git a/src/WebSocket.hs b/src/WebSocket.hs index 0492c81..4179cfa 100644 --- a/src/WebSocket.hs +++ b/src/WebSocket.hs @@ -1,11 +1,13 @@ module WebSocket ( Connection, startClient, + startDefaultWebSocketConnections, sendMessage, receiveMessage, ) where -import Control.Concurrent.Chan +import Control.Concurrent +import Control.Monad import Data.ByteString (ByteString) import Data.ByteString.Unsafe @@ -70,6 +72,15 @@ startClient server addr port path fun = do dropPeerAddress server $ CustomPeerAddress conn +startDefaultWebSocketConnections :: Server -> IO () +startDefaultWebSocketConnections server = do + startClient server "a.discovery.erebosprotocol.net" 443 "" $ \conn -> do + void $ forkIO $ forever $ do + msg <- receiveMessage conn + receivedFromCustomAddress server conn msg + void $ serverPeerCustom server conn + + sendMessage :: Connection -> ByteString -> IO () sendMessage Connection {..} bs = do unsafeUseAsCStringLen bs $ \( ptr, len ) -> do -- cgit v1.2.3