|
|
|
@ -137,11 +137,9 @@ brokerServerThread state = finally brokerServerThread' cleanup |
|
|
|
where |
|
|
|
where |
|
|
|
brokerServerThread' = whileM_ (fmap killMvar (readIORef state) >>= fmap isNothing . tryReadMVar) $ do |
|
|
|
brokerServerThread' = whileM_ (fmap killMvar (readIORef state) >>= fmap isNothing . tryReadMVar) $ do |
|
|
|
sock <- bsSocket <$> readIORef state |
|
|
|
sock <- bsSocket <$> readIORef state |
|
|
|
evs <- poll 200 [Sock sock [In] Nothing] |
|
|
|
msg <- timeout 1000000 $ receiveMulti sock |
|
|
|
when ((L.length . L.head) evs > 0) $ do |
|
|
|
|
|
|
|
msg <- receiveMulti sock |
|
|
|
|
|
|
|
case msg of |
|
|
|
case msg of |
|
|
|
[peerId, _, payload] -> |
|
|
|
Just [peerId, _, payload] -> |
|
|
|
case decode . BL.fromStrict $ payload of |
|
|
|
case decode . BL.fromStrict $ payload of |
|
|
|
Just request -> do |
|
|
|
Just request -> do |
|
|
|
let sqnum = requestSqnum request |
|
|
|
let sqnum = requestSqnum request |
|
|
|
|