Browse Source

BrokerServer: replaced poll with timeout $ readMulti

master
Denis Tereshkin 9 years ago
parent
commit
1d6390bc9d
  1. 6
      src/ATrade/Broker/Server.hs

6
src/ATrade/Broker/Server.hs

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

Loading…
Cancel
Save