diff options
Diffstat (limited to 'mock/Server.hs')
-rw-r--r-- | mock/Server.hs | 31 |
1 files changed, 10 insertions, 21 deletions
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 |