summaryrefslogtreecommitdiff
path: root/src/Main.hs
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2025-04-29 20:30:43 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2025-04-29 22:20:38 +0200
commit46955fc2f755b6cc1328d119c085352572d76b6f (patch)
tree9e1257e8149503b2a4c4e26f614b35f538622b6c /src/Main.hs
parentdb7fa8334097903b2775c98cbb0d548c9e386fd6 (diff)
Erebos network connection via WebSocket
Diffstat (limited to 'src/Main.hs')
-rw-r--r--src/Main.hs21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/Main.hs b/src/Main.hs
index 83d2d8a..183b038 100644
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -1,18 +1,25 @@
module Main (main, setup) where
+import Control.Concurrent
+import Control.Monad
import Control.Monad.Reader
-import Data.ByteString qualified as B
import Data.Maybe
import Data.Proxy
import Data.Text qualified as T
import GHC.Wasm.Prim
+import Erebos.Chatroom
+import Erebos.DirectMessage
+import Erebos.Discovery
import Erebos.Identity
+import Erebos.Network
+import Erebos.Service
import Erebos.State
import Erebos.Storable
import Erebos.Storage
+import Erebos.Sync
import System.IO.Unsafe
@@ -71,8 +78,18 @@ setup = do
, lsOther = []
}
+ server <- startServer defaultServerOptions globalHead JS.consoleLog
+ [ someService @ChatroomService Proxy
+ , someService @DiscoveryService Proxy
+ , someService @DirectMessage Proxy
+ , someService @SyncService Proxy
+ ]
+
startClient "localhost" 9160 "" $ \conn -> do
- sendMessage conn $ B.pack [ 98 .. 107 ]
+ void $ serverPeerCustom server conn
+ void $ forkIO $ forever $ do
+ msg <- receiveMessage conn
+ receivedFromCustomAddress server conn msg
return ()