diff options
| -rw-r--r-- | src/Erebos/Network.hs | 10 | 
1 files changed, 6 insertions, 4 deletions
| diff --git a/src/Erebos/Network.hs b/src/Erebos/Network.hs index 442285a..1e06008 100644 --- a/src/Erebos/Network.hs +++ b/src/Erebos/Network.hs @@ -671,12 +671,14 @@ setupChannel identity peer upid = do              [ TrChannelRequest reqref              , AnnounceSelf $ refDigest $ storedRef $ idData identity              ] +    let sendChannelRequest = do +            sendToPeerPlain peer [ Acknowledged reqref, Rejected reqref ] $ +                TransportPacket (TransportHeader hitems) [storedRef req] +            setPeerChannel peer $ ChannelOurRequest req      liftIO $ atomically $ do          getPeerChannel peer >>= \case -            ChannelCookieConfirmed -> do -                sendToPeerPlain peer [ Acknowledged reqref, Rejected reqref ] $ -                    TransportPacket (TransportHeader hitems) [storedRef req] -                setPeerChannel peer $ ChannelOurRequest req +            ChannelCookieReceived -> sendChannelRequest +            ChannelCookieConfirmed -> sendChannelRequest              _ -> return ()  handleChannelRequest :: Peer -> UnifiedIdentity -> Ref -> WaitingRefCallback |