module Network.HTTP2.TLS.Server.Settings where
import Network.Control
import Network.TLS (SessionManager, noSessionManager)
data Settings = Settings
{ Settings -> Int
settingsTimeout :: Int
, Settings -> Int
settingsSendBufferSize :: Int
, Settings -> Int
settingsSlowlorisSize :: Int
, Settings -> Int
settingsReadBufferSize :: Int
, Settings -> Int
settingsReadBufferLowerLimit :: Int
, Settings -> String -> IO ()
settingsKeyLogger :: String -> IO ()
, Settings -> Int
settingsNumberOfWorkers :: Int
, Settings -> Int
settingsConcurrentStreams :: Int
, Settings -> Int
settingsStreamWindowSize :: Int
, Settings -> Int
settingsConnectionWindowSize :: Int
, Settings -> SessionManager
settingsSessionManager :: SessionManager
, Settings -> Int
settingsEarlyDataSize :: Int
, Settings -> Int
settingsPingRateLimit :: Int
, Settings -> Int
settingsEmptyFrameRateLimit :: Int
, Settings -> Int
settingsSettingsRateLimit :: Int
, Settings -> Int
settingsRstRateLimit :: Int
}
{-# DEPRECATED settingsNumberOfWorkers "This field is meaningless now" #-}
defaultSettings :: Settings
defaultSettings :: Settings
defaultSettings =
Settings
{ settingsTimeout :: Int
settingsTimeout = Int
30
, settingsSendBufferSize :: Int
settingsSendBufferSize = Int
4096
, settingsSlowlorisSize :: Int
settingsSlowlorisSize = Int
50
, settingsReadBufferSize :: Int
settingsReadBufferSize = Int
16384
, settingsReadBufferLowerLimit :: Int
settingsReadBufferLowerLimit = Int
2048
, settingsKeyLogger :: String -> IO ()
settingsKeyLogger = \String
_ -> () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
, settingsNumberOfWorkers :: Int
settingsNumberOfWorkers = Int
8
, settingsConcurrentStreams :: Int
settingsConcurrentStreams = Int
defaultMaxStreams
, settingsStreamWindowSize :: Int
settingsStreamWindowSize = Int
defaultMaxStreamData
, settingsConnectionWindowSize :: Int
settingsConnectionWindowSize = Int
defaultMaxData
, settingsSessionManager :: SessionManager
settingsSessionManager = SessionManager
noSessionManager
, settingsEarlyDataSize :: Int
settingsEarlyDataSize = Int
0
, settingsPingRateLimit :: Int
settingsPingRateLimit = Int
10
, settingsEmptyFrameRateLimit :: Int
settingsEmptyFrameRateLimit = Int
4
, settingsSettingsRateLimit :: Int
settingsSettingsRateLimit = Int
4
, settingsRstRateLimit :: Int
settingsRstRateLimit = Int
4
}