diff options
author | Roman Smrž <roman.smrz@seznam.cz> | 2025-07-12 17:40:51 +0200 |
---|---|---|
committer | Roman Smrž <roman.smrz@seznam.cz> | 2025-07-13 17:07:56 +0200 |
commit | 5667e01bfbdacbd6619e75172f1c6201b15d3647 (patch) | |
tree | 15392bf1529112b6b84f1529088f6b2672c3742a /src/Erebos/Network | |
parent | ea3a4dac09113a1650892e3b6d0725392e2129c0 (diff) |
Protocol: release unused packet reservations
Diffstat (limited to 'src/Erebos/Network')
-rw-r--r-- | src/Erebos/Network/Protocol.hs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Erebos/Network/Protocol.hs b/src/Erebos/Network/Protocol.hs index 025f52c..e629967 100644 --- a/src/Erebos/Network/Protocol.hs +++ b/src/Erebos/Network/Protocol.hs @@ -917,7 +917,10 @@ processOutgoing gs@GlobalState {..} = do , rsOnAck = rsOnAck rs >> onAck }) <$> mbReserved sendBytes conn mbReserved' bs - Nothing -> return () + Nothing -> do + when (isJust mbReserved) $ do + atomically $ do + modifyTVar' cReservedPackets (subtract 1) let waitUntil :: TimeSpec -> TimeSpec -> STM () waitUntil now till = do |