quic-simple: Quick-start wrappers for QUIC

[ bsd3, library, network ] [ Propose Tags ] [ Report a vulnerability ]

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.


[Skip to Readme]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.0.1 (info)
Change log CHANGELOG.md
Dependencies async, base (>=4.7 && <5), bytestring, crypton, crypton-x509, hourglass, iproute, memory, network, quic (>=0.2.7), serialise, stm, tls [details]
License BSD-3-Clause
Copyright 2025 IC Rainbow
Author IC Rainbow
Maintainer aenor.realm@gmail.com
Revised Revision 1 made by AlexanderBondarenko at 2025-11-30T12:59:22Z
Category Network
Source repo head: git clone https://gitlab.com/dpwiz/quic-simple
Uploaded by AlexanderBondarenko at 2025-11-30T12:56:50Z
Distributions
Downloads 0 total (0 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2025-11-30 [all 1 reports]

Readme for quic-simple-0.1.0.1

[back to package description]

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.