Terraria v1.4.4.9
Terraria source code documentation
|
Public Member Functions | |
HPackDecoder (int maxDynamicTableSize=4096, int maxHeadersLength=65536) | |
void | Decode (ReadOnlySpan< byte > data, bool endHeaders, IHttpHeadersHandler handler) |
void | CompleteDecode () |
Package Functions | |
HPackDecoder (int maxDynamicTableSize, int maxHeadersLength, DynamicTable dynamicTable) | |
Private Types | |
enum | State : byte { Ready , HeaderFieldIndex , HeaderNameIndex , HeaderNameLength , HeaderNameLengthContinue , HeaderName , HeaderValueLength , HeaderValueLengthContinue , HeaderValue , DynamicTableSizeUpdate } |
Private Member Functions | |
void | DecodeInternal (ReadOnlySpan< byte > data, IHttpHeadersHandler handler) |
void | ParseDynamicTableSizeUpdate (ReadOnlySpan< byte > data, ref int currentIndex) |
void | ParseHeaderValueLength (ReadOnlySpan< byte > data, ref int currentIndex, IHttpHeadersHandler handler) |
void | ParseHeaderNameLengthContinue (ReadOnlySpan< byte > data, ref int currentIndex, IHttpHeadersHandler handler) |
void | ParseHeaderValueLengthContinue (ReadOnlySpan< byte > data, ref int currentIndex, IHttpHeadersHandler handler) |
void | ParseHeaderFieldIndex (ReadOnlySpan< byte > data, ref int currentIndex, IHttpHeadersHandler handler) |
void | ParseHeaderNameIndex (ReadOnlySpan< byte > data, ref int currentIndex, IHttpHeadersHandler handler) |
void | ParseHeaderNameLength (ReadOnlySpan< byte > data, ref int currentIndex, IHttpHeadersHandler handler) |
void | Parse (ReadOnlySpan< byte > data, ref int currentIndex, IHttpHeadersHandler handler) |
void | ParseLiteralHeaderField (ReadOnlySpan< byte > data, ref int currentIndex, byte b, byte mask, byte indexPrefix, bool index, IHttpHeadersHandler handler) |
void | ParseHeaderName (ReadOnlySpan< byte > data, ref int currentIndex, IHttpHeadersHandler handler) |
void | ParseHeaderValue (ReadOnlySpan< byte > data, ref int currentIndex, IHttpHeadersHandler handler) |
void | CheckIncompleteHeaderBlock (bool endHeaders) |
void | ProcessHeaderValue (ReadOnlySpan< byte > data, IHttpHeadersHandler handler) |
void | OnIndexedHeaderField (int index, IHttpHeadersHandler handler) |
void | OnIndexedHeaderName (int index) |
void | OnStringLength (int length, State nextState) |
void | OnString (State nextState) |
void | EnsureStringCapacity (ref byte[] dst) |
bool | TryDecodeInteger (ReadOnlySpan< byte > data, ref int currentIndex, out int result) |
ref readonly HeaderField | GetDynamicHeader (int index) |
void | SetDynamicHeaderTableSize (int size) |
Static Private Member Functions | |
static bool | IsHuffmanEncoded (byte b) |
Private Attributes | |
readonly int | _maxDynamicTableSize |
readonly int | _maxHeadersLength |
readonly DynamicTable | _dynamicTable |
IntegerDecoder | _integerDecoder |
byte[] | _stringOctets |
byte[] | _headerNameOctets |
byte[] | _headerValueOctets |
int | start |
int int? length | _headerNameRange |
int int? length | _headerValueRange |
State | _state |
byte[] | _headerName |
int | _headerStaticIndex |
int | _stringIndex |
int | _stringLength |
int | _headerNameLength |
int | _headerValueLength |
bool | _index |
bool | _huffman |
bool | _headersObserved |
Definition at line 5 of file HPackDecoder.cs.