diff options
author | Roman Smrž <roman.smrz@seznam.cz> | 2025-07-16 21:46:56 +0200 |
---|---|---|
committer | Roman Smrž <roman.smrz@seznam.cz> | 2025-07-16 21:46:56 +0200 |
commit | f87fdcc65008fb40e8f0f37f33f6bbae1afa162a (patch) | |
tree | 64251d37407cc4beaed177b9faa5ac6d1b9c212a /src/Erebos/Network.hs | |
parent | a03a457538dd990db34c71facd92ea3173ff6025 (diff) |
Diffstat (limited to 'src/Erebos/Network.hs')
-rw-r--r-- | src/Erebos/Network.hs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/Erebos/Network.hs b/src/Erebos/Network.hs index a90f5d8..6126e60 100644 --- a/src/Erebos/Network.hs +++ b/src/Erebos/Network.hs @@ -163,6 +163,8 @@ instance Eq Peer where class (Eq addr, Ord addr, Show addr, Typeable addr) => PeerAddressType addr where sendBytesToAddress :: addr -> ByteString -> IO () + connectionToAddressClosed :: addr -> IO () + connectionToAddressClosed _ = return () data PeerAddress = forall addr. PeerAddressType addr => CustomPeerAddress addr @@ -384,6 +386,10 @@ startServer serverOptions serverOrigHead logd' serverServices = do handlePacket identity secure peer chanSvc svcs header prefs peerLoop Nothing -> do + case paddr of + DatagramAddress _ -> return () + CustomPeerAddress caddr -> connectionToAddressClosed caddr + dropPeer peer atomically $ writeTChan serverChanPeer peer peerLoop |