Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
System.Net.Http.HPack.HPackDecoder Class Referencesealed

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
 

Detailed Description

Definition at line 5 of file HPackDecoder.cs.


The documentation for this class was generated from the following file: