quic-simple 0.1.0.0 → 0.1.0.1
raw patch · 3 files changed
+14/−8 lines, 3 filesdep ~quic
Dependency ranges changed: quic
Files
- CHANGELOG.md +6/−2
- quic-simple.cabal +3/−2
- src/Network/QUIC/Simple.hs +5/−4
CHANGELOG.md view
@@ -6,6 +6,10 @@ and this project adheres to the [Haskell Package Versioning Policy](https://pvp.haskell.org/). -## Unreleased+## 0.1.0.1 - Unreleased -## 0.1.0.0 - YYYY-MM-DD+- Added `onException` to `startClientSimple` wrapper, so it can be timed out without leaking its client.++## 0.1.0.0 - 2025-11-29++Initial release.
quic-simple.cabal view
@@ -5,8 +5,9 @@ -- see: https://github.com/sol/hpack name: quic-simple-version: 0.1.0.0+version: 0.1.0.1 synopsis: Quick-start wrappers for QUIC+description: . A few layers over QUIC, to get the first bytes out faster. The top level is RPC-like, using Serialise as a codec. Copypaste the code and peel layers as you go to get more power and flexibility. category: Network author: IC Rainbow maintainer: aenor.realm@gmail.com@@ -49,7 +50,7 @@ , iproute , memory , network- , quic+ , quic >=0.2.7 , serialise , stm , tls
src/Network/QUIC/Simple.hs view
@@ -15,11 +15,12 @@ import Network.QUIC import Network.QUIC.Simple.Stream -import Control.Monad (forever)+import Codec.Serialise (Serialise) import Control.Concurrent (forkIO, killThread)-import Control.Concurrent.STM (atomically, readTBQueue, writeTBQueue, newTBQueueIO) import Control.Concurrent.MVar (newEmptyMVar, putMVar, takeMVar)-import Codec.Serialise (Serialise)+import Control.Concurrent.STM (atomically, readTBQueue, writeTBQueue, newTBQueueIO)+import Control.Exception (onException)+import Control.Monad (forever) import Data.IP (IP(..)) import Network.QUIC.Client (ClientConfig(..), defaultClientConfig) import Network.QUIC.Client qualified as Client@@ -86,7 +87,7 @@ atomically $ writeTBQueue writeQ query reply <- atomically $ readTBQueue readQ handler reply- requests <- takeMVar client+ requests <- takeMVar client `onException` killThread tid pure ( killThread tid , \query -> do