{-# 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
import Network.QUIC.Types.Info