From 7d0797d622d1165c06a1d41df6943c8daefa8102 Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Sun, 16 May 2021 14:01:15 +0200 Subject: WIP doesn't build but was in stash --- mock/Server.hs | 31 ++++++++++--------------------- mock/Util.hs | 8 ++++++++ 2 files changed, 18 insertions(+), 21 deletions(-) create mode 100644 mock/Util.hs diff --git a/mock/Server.hs b/mock/Server.hs index b4dea2c..1fd2b97 100644 --- a/mock/Server.hs +++ b/mock/Server.hs @@ -17,33 +17,22 @@ import Types import Util --- | Message from the client gate to the server process. The response of the --- server is written to the MVar. -data ServerIn = ServerIn ServerIn' (TMVar [ServerOut]) - -data ServerIn' - = IAnon Cmd - | IAs User Cmd +newtype ConnId = ConnId Int deriving (Show) -data ServerOut - = OResponse Response - | OLogin User - | OLogout - | ODisconnect - | OBroadcast BroadcastAudience Push -- ^ Will not broadcast to the sender of the ServerIn +data ServerIn + = IOpen ConnId + | IClose ConnId + | ICmd ConnId Cmd deriving (Show) -data BroadcastAudience - = AudUser User -- ^ All sessions of the user - | AudRoom Room -- ^ All sessions of all users in the room - | AudVisibleUsers User -- ^ All sessions of all users in all rooms that this user is in +data ServerOutAction + = OClose ConnId + | OResponse ConnId Response + | OPush ConnId Push deriving (Show) -data ClientAction - = CAResponse Response - | CAPush Push - | CADisconnect +newtype ServerOut = ServerOut [ServerOutAction] deriving (Show) data ClientState diff --git a/mock/Util.hs b/mock/Util.hs new file mode 100644 index 0000000..be12f56 --- /dev/null +++ b/mock/Util.hs @@ -0,0 +1,8 @@ +module Util where + + +newtype Opaque a = Opaque { unOpaque :: a } + deriving (Eq, Ord) + +instance Show (Opaque a) where + show _ = "Opaque" -- cgit v1.2.3-70-g09d2