serverMsgs = filter (not . shouldSkip) $ map (\(FromServer _ msg) -> msg) serverEvents
requestMap = getRequestMap clientMsgs
-
reqSema <- newEmptyMVar
rspSema <- newEmptyMVar
passVar <- newEmptyMVar :: IO (MVar Bool)
if responseId reqId /= id
then error $ "Expected id " ++ show reqId ++ ", got " ++ show reqId
else do
- sendResponse' msg
+ sendResponse msg
liftIO $ putStrLn $ "Sent response to request id " ++ show id
sendMessages remainingMsgs reqSema rspSema
print msg
putStrLn "Expected one of:"
mapM_ print $ takeWhile (not . isNotification) expectedMsgs
- print $ head $ dropWhile (not . isNotification) expectedMsgs
+ print $ head $ dropWhile isNotification expectedMsgs
putMVar passVar False
where