Esempio n. 1
0
 /// <summary>
 /// Add before an entry in the linked list.
 /// </summary>
 public void AddBefore(EncoderHeaderEntry existingEntry)
 {
     After          = existingEntry;
     Before         = existingEntry.Before;
     Before !.After = this;
     After !.Before = this;
 }
Esempio n. 2
0
 private void PushRemovedEntry(EncoderHeaderEntry removed)
 {
     if (_removed != null)
     {
         removed.Next = _removed;
     }
     _removed = removed;
 }
Esempio n. 3
0
 public DynamicHPackEncoder(bool allowDynamicCompression = true, uint maxHeaderTableSize = DefaultHeaderTableSize)
 {
     _allowDynamicCompression = allowDynamicCompression;
     _maxHeaderTableSize      = maxHeaderTableSize;
     Head = new EncoderHeaderEntry();
     Head.Initialize(-1, string.Empty, string.Empty, 0, int.MaxValue, null);
     // Bucket count balances memory usage and the expected low number of headers (constrained by the header table size).
     // Performance with different bucket counts hasn't been measured in detail.
     _headerBuckets = new EncoderHeaderEntry[16];
     _hashMask      = (byte)(_headerBuckets.Length - 1);
     Head.Before    = Head.After = Head;
 }