aboutsummaryrefslogtreecommitdiff
path: root/mock/Server.hs
diff options
context:
space:
mode:
Diffstat (limited to 'mock/Server.hs')
-rw-r--r--mock/Server.hs31
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