diff options
| author | Roman Smrž <roman.smrz@seznam.cz> | 2026-02-18 19:28:39 +0100 |
|---|---|---|
| committer | Roman Smrž <roman.smrz@seznam.cz> | 2026-02-18 22:05:52 +0100 |
| commit | 13753a46772cc7fe7579bdc669ffccc7a6c3bf00 (patch) | |
| tree | b78ba3f16a0788a9ce9df077e5cce671e87d35ab | |
| parent | 14388f08afeb984d0e0376fe8eddcfebb363c86d (diff) | |
Notify listeners when peer is automatically dropped
| -rw-r--r-- | src/Erebos/Network.hs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/Erebos/Network.hs b/src/Erebos/Network.hs index e9f85e4..e7b08a0 100644 --- a/src/Erebos/Network.hs +++ b/src/Erebos/Network.hs @@ -403,9 +403,7 @@ startServer serverOptions serverOrigHead logd' serverServices = do case paddr of DatagramAddress _ -> return () CustomPeerAddress caddr -> connectionToAddressClosed caddr - dropPeer peer - atomically $ writeTChan serverChanPeer peer peerLoop ReceivedAnnounce addr _ -> do @@ -902,8 +900,10 @@ dropPeerInner :: Peer -> Map PeerAddress Peer -> IO (Map PeerAddress Peer) dropPeerInner peer pvalue = do atomically $ do readTVar (peerState peer) >>= \case - PeerConnected conn -> connClose conn - _ -> return() + PeerConnected conn -> do + connClose conn + writeTChan (serverChanPeer $ peerServer peer) peer + _ -> return () writeTVar (peerState peer) PeerDropped return $ M.delete (peerAddress peer) pvalue |