summaryrefslogtreecommitdiff
path: root/src/WebSocket.hs
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2026-07-25 09:28:44 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2026-07-25 09:28:44 +0200
commit3cf68ac0db0e5f839d3f1dd8f345e44584ed13f7 (patch)
tree0dd9c42584eb0a95c0a92b7697a223bd51ba942f /src/WebSocket.hs
parent7811d5658c75344dd1787cd821c5c28e2a3dab32 (diff)
Move common WebSocket setup to the moduleHEADmaster
Diffstat (limited to 'src/WebSocket.hs')
-rw-r--r--src/WebSocket.hs13
1 files changed, 12 insertions, 1 deletions
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