quic-0.1.20: QUIC
Safe HaskellSafe-Inferred
LanguageHaskell2010

Network.QUIC.Server

Description

This main module provides APIs for QUIC servers.

Synopsis

Running a QUIC server

run :: ServerConfig -> (Connection -> IO ()) -> IO () Source #

Running a QUIC server. The action is executed with a new connection in a new lightweight thread.

stop :: Connection -> IO () Source #

Stopping the base thread of the server.

Configuration

data ServerConfig Source #

Server configuration.

defaultServerConfig :: ServerConfig Source #

The default value for server configuration.

scAddresses :: ServerConfig -> [(IP, PortNumber)] Source #

Server addresses assigned to used network interfaces.

scRequireRetry :: ServerConfig -> Bool Source #

Requiring QUIC retry.

scUse0RTT :: ServerConfig -> Bool Source #

Use 0-RTT on the 2nd connection if possible. server original

scCiphers :: ServerConfig -> [Cipher] Source #

Cipher candidates defined in TLS 1.3.

scGroups :: ServerConfig -> [Group] Source #

Key exchange group candidates defined in TLS 1.3.

scVersions :: ServerConfig -> [Version] Source #

Fully-Deployed Versions in the preferred order.

scCredentials :: ServerConfig -> Credentials Source #

Server certificate information.

scSessionManager :: ServerConfig -> SessionManager Source #

A session manager of TLS 1.3.

Certificate

clientCertificateChain :: Connection -> IO (Maybe CertificateChain) Source #

Getting a certificate chain of a client.