{-# LANGUAGE PatternSynonyms #-}
module Network.QUIC (
Connection
, abortConnection
, Stream
, StreamId
, streamId
, isClientInitiatedBidirectional
, isServerInitiatedBidirectional
, isClientInitiatedUnidirectional
, isServerInitiatedUnidirectional
, stream
, unidirectionalStream
, acceptStream
, closeStream
, shutdownStream
, resetStream
, stopStream
, recvStream
, sendStream
, sendStreamMany
, ConnectionInfo(..)
, getConnectionInfo
, ConnectionStats(..)
, getConnectionStats
, wait0RTTReady
, wait1RTTReady
, waitEstablished
, QUICException(..)
, TransportError(.., NoError, InternalError, ConnectionRefused, FlowControlError, StreamLimitError, StreamStateError, FinalSizeError, FrameEncodingError, TransportParameterError, ConnectionIdLimitError, ProtocolViolation, InvalidToken, ApplicationError, CryptoBufferExceeded, KeyUpdateError, AeadLimitReached, NoViablePath)
, cryptoError
, ApplicationProtocolError(..)
) where
import Network.QUIC.Connection
import Network.QUIC.IO
import Network.QUIC.Info
import Network.QUIC.Stream
import Network.QUIC.Types