module Network.QUIC.Common where

import qualified Network.Socket as NS

import Network.QUIC.Connection
import Network.QUIC.Parameters
import Network.QUIC.Types

----------------------------------------------------------------

data ConnRes = ConnRes Connection SendBuf Receive AuthCIDs (IO ())

connResConnection :: ConnRes -> Connection
connResConnection :: ConnRes -> Connection
connResConnection (ConnRes Connection
conn SendBuf
_ Receive
_ AuthCIDs
_ IO ()
_) = Connection
conn

defaultPacketSize :: NS.SockAddr -> Int
defaultPacketSize :: SockAddr -> Int
defaultPacketSize NS.SockAddrInet6{} = Int
defaultQUICPacketSizeForIPv6
defaultPacketSize SockAddr
_                  = Int
defaultQUICPacketSizeForIPv4

maximumPacketSize :: NS.SockAddr -> Int
maximumPacketSize :: SockAddr -> Int
maximumPacketSize NS.SockAddrInet6{} = Int
1500 Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
40 Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
8 -- fixme
maximumPacketSize SockAddr
_                  = Int
1500 Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
20 Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
8 -- fixme