Documentation
¶
Index ¶
- type Body
- type HTTP
- type Headers
- type HeadersNumber
- type HeadersValuesObjectPoolSize
- type HeadersValuesSpace
- type MaxBodyChunkSize
- type MaxBodySize
- type MaxHeaderKeyLength
- type MaxHeaderValueLength
- type MaxURLLength
- type Query
- type ResponseBuffSize
- type Settings
- type TCP
- type TCPReadBuffSize
- type TCPReadTimeout
- type URL
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Body ¶
type Body struct { // MaxSize is responsible for a maximal body size in case it is being transferred // using ordinary Content-Length header, otherwise (e.g. chunked TE) this limit, // unfortunately, doesn't work MaxSize MaxBodySize // MaxChunkSize is responsible for a maximal size of a single chunk being transferred // via chunked TE MaxChunkSize MaxBodyChunkSize }
type HTTP ¶
type HTTP struct { // ResponseBuffSize is responsible for a response buffer that is being allocated when // client connects and is used for rendering the response into it ResponseBuffSize ResponseBuffSize }
type Headers ¶
type Headers struct { // Number is responsible for headers map size. // Default value is an initial size of allocated headers map. // Maximal value is maximum number of headers allowed to be presented Number HeadersNumber // MaxKeyLength is responsible for maximal header key length restriction. MaxKeyLength MaxHeaderKeyLength // MaxValueLength is responsible for maximal header value length restriction. MaxValueLength MaxHeaderValueLength // HeadersValuesSpace is responsible for a maximal space in bytes available for // keeping header values in memory. // Default value is initial space allocated when client connects. // Maximal value is a hard limit, reaching which one client triggers server // to response with 431 Header Fields Too Large ValueSpace HeadersValuesSpace // MaxValuesObjectPoolSize is responsible for a maximal size of string slices object // pool MaxValuesObjectPoolSize HeadersValuesObjectPoolSize }
type HeadersNumber ¶
type HeadersNumber struct {
Default, Maximal int
}
type HeadersValuesObjectPoolSize ¶
type HeadersValuesObjectPoolSize = int
type HeadersValuesSpace ¶
type HeadersValuesSpace struct {
Default, Maximal int
}
type MaxBodyChunkSize ¶
type MaxBodyChunkSize = int
type MaxBodySize ¶
type MaxBodySize int
type MaxHeaderKeyLength ¶
type MaxHeaderKeyLength = int
type MaxHeaderValueLength ¶
type MaxHeaderValueLength = int
type MaxURLLength ¶
type MaxURLLength int
type Query ¶
type Query struct { // MaxLength is responsible for a limit of the query length MaxLength int // DefaultMapSize is responsible for an initial capacity of query entries map. // There is no up limit because: // Maximal number of entries equals to 65536 (math.MaxUint16) divided by // 3 (minimal length of query entry) that equals to 21,845. // Worst case: sizeof(int) == 64 and sizeof(unsafe.Pointer) == 64. Then // slice type takes 16 bytes // In that case, we can calculate how much memory AT MOST will be used. // 24 bytes (slice type - cap, len and pointer 8 bytes each) + 1 byte // (an array of a single char in best case) + 16 bytes (string type - len // and pointer) + 1 byte (an array of single char in best case) // 42 bytes in total for each pair, 917490 bytes in total, that is 896 kilobytes // that is 0.87 megabytes. IMHO that is not that much to care about. In case it // is - somebody will open an issue, or even better, implement the limit by himself // (hope he is lucky enough to find out how to handle with my hand-made DI) DefaultMapSize int }
type ResponseBuffSize ¶
type ResponseBuffSize int
type TCP ¶
type TCP struct { // ReadBufferSize is a size of buffer in bytes which will be used to read from // socket ReadBufferSize TCPReadBuffSize // ReadTimeout is a duration after which client will be automatically disconnected ReadTimeout TCPReadTimeout }
type TCPReadBuffSize ¶
type TCPReadBuffSize int
type TCPReadTimeout ¶
type URL ¶
type URL struct { // MaxLength is a size for buffer that'll be allocated once and will be kept // until client disconnect MaxLength MaxURLLength Query Query }
Click to show internal directories.
Click to hide internal directories.