BSD-3-Clause licensed by IC Rainbow
This version can be pinned in stack with:quic-simple-0.1.0.1@sha256:960fe4790882ca29b66cfa7d674ffade9b3029e1b64b716a09ca6956c35c3642,2288
Module documentation for 0.1.0.1
Depends on 13 packages
(full list with versions):
async,
base,
bytestring,
crypton,
crypton-x509,
hourglass,
iproute,
memory,
network,
quic,
serialise,
stm,
tls quic-simple
A set of wrappers for getting started with QUIC easier.
QUIC.runServer [("127.0.0.1", 14443)] \conn stream -> – start a generic server with random TLS credentials and auto-accept the first stream.
QUIC.runClient "127.0.0.1" "14443" \conn stream -> – start a generic client and request an initial stream.
(writeQ, readQ) <- QUIC.streamCodec encode decodeIncremental stream – convert a stream to a pair of queues.
(writeQ, readQ) <- QUIC.streamSerialise stream – run a CBOR codec over a stream.
An extra-simple pair of wrappers for QUIC and dirty RPC:
QUIC.runServerSimple "127.0.0.1" 14443 handleCall – start a CBOR server running streamSerialise.
(stop, call) <- QUIC.startClientSimple "127.0.0.1" "14443" – spawn a CBOR client running streamSerialise.
See tests for copypastable examples of different wrapping levels.
Changelog for quic-simple
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to the
Haskell Package Versioning Policy.
0.1.0.1 - Unreleased
- Added
onException to startClientSimple wrapper, so it can be timed out without leaking its client.
0.1.0.0 - 2025-11-29
Initial release.