cabal-version: >=1.10 name: quic version: 0.1.20 x-revision: 1 license: BSD3 license-file: LICENSE maintainer: kazu@iij.ad.jp author: Kazu Yamamoto synopsis: QUIC description: Library for QUIC: A UDP-Based Multiplexed and Secure Transport category: Web build-type: Simple extra-source-files: ChangeLog.md cbits/*.h cbits/picotls/*.h test/servercert.pem test/serverkey.pem source-repository head type: git location: https://github.com/kazu-yamamoto/quic flag devel description: Development commands default: False flag fusion description: Use fusion AES-GCM engine from picotls manual: True library exposed-modules: Network.QUIC Network.QUIC.Client Network.QUIC.Internal Network.QUIC.Server other-modules: Network.QUIC.Client.Reader Network.QUIC.Client.Run Network.QUIC.Closer Network.QUIC.Common Network.QUIC.Config Network.QUIC.Connection Network.QUIC.Connection.Crypto Network.QUIC.Connection.Migration Network.QUIC.Connection.Misc Network.QUIC.Connection.PacketNumber Network.QUIC.Connection.Queue Network.QUIC.Connection.Role Network.QUIC.Connection.State Network.QUIC.Connection.Stream Network.QUIC.Connection.StreamTable Network.QUIC.Connection.Timeout Network.QUIC.Connection.Types Network.QUIC.Connector Network.QUIC.Crypto Network.QUIC.Crypto.Fusion Network.QUIC.Crypto.Keys Network.QUIC.Crypto.Nite Network.QUIC.Crypto.Types Network.QUIC.Crypto.Utils Network.QUIC.Event Network.QUIC.Exception Network.QUIC.Handshake Network.QUIC.IO Network.QUIC.Imports Network.QUIC.Info Network.QUIC.Logger Network.QUIC.Packet Network.QUIC.Packet.Decode Network.QUIC.Packet.Decrypt Network.QUIC.Packet.Encode Network.QUIC.Packet.Frame Network.QUIC.Packet.Header Network.QUIC.Packet.Number Network.QUIC.Packet.Token Network.QUIC.Parameters Network.QUIC.QLogger Network.QUIC.Qlog Network.QUIC.Receiver Network.QUIC.Recovery Network.QUIC.Recovery.Constants Network.QUIC.Recovery.Detect Network.QUIC.Recovery.Interface Network.QUIC.Recovery.LossRecovery Network.QUIC.Recovery.Metrics Network.QUIC.Recovery.Misc Network.QUIC.Recovery.PeerPacketNumbers Network.QUIC.Recovery.Persistent Network.QUIC.Recovery.Release Network.QUIC.Recovery.Timer Network.QUIC.Recovery.Types Network.QUIC.Recovery.Utils Network.QUIC.Sender Network.QUIC.Server.Reader Network.QUIC.Server.Run Network.QUIC.Stream Network.QUIC.Stream.Frag Network.QUIC.Stream.Misc Network.QUIC.Stream.Queue Network.QUIC.Stream.Reass Network.QUIC.Stream.Skew Network.QUIC.Stream.Table Network.QUIC.Stream.Types Network.QUIC.TLS Network.QUIC.Types Network.QUIC.Types.Ack Network.QUIC.Types.CID Network.QUIC.Types.Constants Network.QUIC.Types.Error Network.QUIC.Types.Exception Network.QUIC.Types.Frame Network.QUIC.Types.Integer Network.QUIC.Types.Packet Network.QUIC.Types.Queue Network.QUIC.Types.Resumption Network.QUIC.Types.Time Network.QUIC.Utils Network.QUIC.Windows default-language: Haskell2010 default-extensions: Strict StrictData ghc-options: -Wall -Wcompat build-depends: base >=4.9 && <5, array >= 0.5 && < 0.6, base16-bytestring >= 1.0 && < 1.1, bytestring >= 0.10, containers >= 0.6 && < 0.7, crypto-token >= 0.1.1 && < 0.2, crypton >= 0.34, memory >= 0.18.0 && < 0.19, crypton-x509 >= 1.7.6 && < 1.8, crypton-x509-system >= 1.6.7 && < 1.7, filepath >= 1.4 && < 1.5, stm >= 2.5 && < 2.6, data-default-class >= 0.1.2 && < 0.2, fast-logger >= 3.2.2 && < 3.3, unix-time >= 0.4.12 && < 0.5, iproute >= 1.7.12 && < 1.8, network >= 3.1.4, network-byte-order >= 0.1.7 && < 0.2, network-control >= 0.1 && < 0.2, network-udp >= 0.0.0 && < 0.1, random >= 1.2.1 && < 1.3, serialise, tls >= 2.0 && < 2.1, unliftio >= 0.2 && < 0.3, unliftio-core >= 0.2 && < 0.3 if os(windows) cc-options: -D_WINDOWS if (flag(fusion) && arch(x86_64)) cpp-options: -DUSE_FUSION cc-options: -mavx2 -maes -mpclmul -mvaes -mvpclmulqdq c-sources: cbits/fusion.c cbits/picotls.c executable quic-server main-is: quic-server.hs hs-source-dirs: util other-modules: H3 Common ServerX default-language: Haskell2010 default-extensions: Strict StrictData ghc-options: -Wall -threaded -rtsopts build-depends: base >=4.9 && <5, base16-bytestring, bytestring, filepath, http2, network-byte-order, quic, tls, tls-session-manager >= 0.0.5, unliftio if flag(devel) else buildable: False if os(windows) ghc-options: -with-rtsopts=--io-manager=native executable quic-client main-is: quic-client.hs hs-source-dirs: util other-modules: H3 ClientX Common default-language: Haskell2010 default-extensions: Strict StrictData ghc-options: -Wall -threaded -rtsopts build-depends: base >=4.9 && <5, async, base16-bytestring, bytestring, filepath, http2, network-byte-order, quic, tls, unix-time, unliftio if flag(devel) else buildable: False if os(windows) ghc-options: -with-rtsopts=--io-manager=native test-suite spec type: exitcode-stdio-1.0 main-is: Spec.hs build-tool-depends: hspec-discover:hspec-discover hs-source-dirs: test other-modules: Config ErrorSpec FrameSpec HandshakeSpec IOSpec PacketSpec RecoverySpec TLSSpec TransportError TypesSpec default-language: Haskell2010 default-extensions: Strict StrictData ghc-options: -Wall -threaded -rtsopts build-depends: base >=4.9 && <5, QuickCheck, async, base16-bytestring >=1.0, bytestring, containers, crypton, hspec, network >=3.1.2, network-udp, quic, tls, unix-time, unliftio if os(windows) ghc-options: -with-rtsopts=--io-manager=native