Skip to content

SessionOptions

[<Interface>]
type SessionOptions =
    abstract member maxDeflateDynamicTableSize: float option with get, set
    abstract member maxHeaderListPairs: float option with get, set
    abstract member maxOutstandingPings: float option with get, set
    abstract member maxSendHeaderBlockLength: float option with get, set
    abstract member maxSessionMemory: float option with get, set
    abstract member maxSettings: float option with get, set
    abstract member paddingStrategy: float option with get, set
    abstract member peerMaxConcurrentStreams: float option with get, set
    abstract member remoteCustomSettings: float array option with get, set
    abstract member settings: Settings option with get, set
    abstract member strictFieldWhitespaceValidation: bool option with get, set
    abstract member unknownProtocolTimeout: float option with get, set
    static member Create (?maxDeflateDynamicTableSize: float, ?maxSettings: float, ?maxSessionMemory: float, ?maxHeaderListPairs: float, ?maxOutstandingPings: float, ?maxSendHeaderBlockLength: float, ?paddingStrategy: float, ?peerMaxConcurrentStreams: float, ?settings: Settings, ?remoteCustomSettings: float array, ?unknownProtocolTimeout: float, ?strictFieldWhitespaceValidation: bool) : SessionOptions
AssemblyXantham.Fable.Node
Attributes[<Interface>]

Properties

abstract member maxDeflateDynamicTableSize: float option with get, set

Sets the maximum dynamic table size for deflating header fields.

abstract member maxHeaderListPairs: float option with get, set

Sets the maximum number of header entries. This is similar to server.maxHeadersCount or request.maxHeadersCount in the node:http module. The minimum value is 1.

abstract member maxOutstandingPings: float option with get, set

Sets the maximum number of outstanding, unacknowledged pings.

abstract member maxSendHeaderBlockLength: float option with get, set

Sets the maximum allowed size for a serialized, compressed block of headers. Attempts to send headers that exceed this limit will result in a 'frameError' event being emitted and the stream being closed and destroyed.

abstract member maxSessionMemory: float option with get, set

Sets the maximum memory that the Http2Session is permitted to use. The value is expressed in terms of number of megabytes, e.g. 1 equal 1 megabyte. The minimum value allowed is 1. This is a credit based limit, existing Http2Streams may cause this limit to be exceeded, but new Http2Stream instances will be rejected while this limit is exceeded. The current number of Http2Stream sessions, the current memory use of the header compression tables, current data queued to be sent, and unacknowledged PING and SETTINGS frames are all counted towards the current limit.

abstract member maxSettings: float option with get, set

Sets the maximum number of settings entries per SETTINGS frame. The minimum value allowed is 1.

abstract member paddingStrategy: float option with get, set

Strategy used for determining the amount of padding to use for HEADERS and DATA frames.

abstract member peerMaxConcurrentStreams: float option with get, set

Sets the maximum number of concurrent streams for the remote peer as if a SETTINGS frame had been received. Will be overridden if the remote peer sets its own value for maxConcurrentStreams.

abstract member remoteCustomSettings: float array option with get, set

The array of integer values determines the settings types, which are included in the CustomSettings-property of the received remoteSettings. Please see the CustomSettings-property of the Http2Settings object for more information, on the allowed setting types.

abstract member settings: Settings option with get, set

The initial settings to send to the remote peer upon connection.

abstract member strictFieldWhitespaceValidation: bool option with get, set

If true, it turns on strict leading and trailing whitespace validation for HTTP/2 header field names and values as per RFC-9113.

@since v24.2.0

abstract member unknownProtocolTimeout: float option with get, set

Specifies a timeout in milliseconds that a server should wait when an ['unknownProtocol'][] is emitted. If the socket has not been destroyed by that time the server will destroy it.

Methods

static member Create (?maxDeflateDynamicTableSize: float, ?maxSettings: float, ?maxSessionMemory: float, ?maxHeaderListPairs: float, ?maxOutstandingPings: float, ?maxSendHeaderBlockLength: float, ?paddingStrategy: float, ?peerMaxConcurrentStreams: float, ?settings: Settings, ?remoteCustomSettings: float array, ?unknownProtocolTimeout: float, ?strictFieldWhitespaceValidation: bool) : SessionOptions