BSD-3-Clause licensed by IC Rainbow
Maintained by [email protected]
This version can be pinned in stack with:quic-simple-0.1.0.1@sha256:960fe4790882ca29b66cfa7d674ffade9b3029e1b64b716a09ca6956c35c3642,2288

Module documentation for 0.1.0.1

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.

Changes

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.