Module http::header::map

source Β·

Re-exports§

Modules§

Macros§

Structs§

  • Bucket πŸ”’
    Stores the data associated with a HeaderMap entry. Only the first value is included in this struct. If a header name has more than one associated value, all extra values are stored in the extra_values vector. A doubly linked list of entries is maintained. The doubly linked list is used so that removing a value is constant time. This also has the nice property of enabling double ended iteration.
  • A drain iterator for HeaderMap.
  • ExtraValue πŸ”’
    Node in doubly-linked list of header value entries
  • A view to all values stored in a single entry.
  • HashValue πŸ”’
    Hash values are limited to u16 as well. While fast_hash and Hasher return usize hash codes, limiting the effective hash code to the lower 16 bits is fine since we know that the indices vector will never grow beyond that size.
  • A set of HTTP headers
  • An owning iterator over the entries of a HeaderMap.
  • HeaderMap entry iterator.
  • HeaderMap mutable entry iterator
  • An iterator over HeaderMap keys.
  • Links πŸ”’
    The head and tail of the value linked list.
  • Error returned when max capacity of HeaderMap is exceeded
  • A view into a single occupied location in a HeaderMap.
  • Pos πŸ”’
    An entry in the hash table. This represents the full hash code for an entry as well as the position of the entry in the entries vector.
  • RawLinks πŸ”’
    Access to the links value in a slice of buckets.
  • A view into a single empty location in a HeaderMap.
  • An drain iterator of all values associated with a single header name.
  • An iterator of all values associated with a single header name.
  • A mutable iterator of all values associated with a single header name.
  • HeaderMap value iterator.
  • HeaderMap mutable value iterator

Enums§

  • Cursor πŸ”’
    Tracks the value iterator state
  • Danger πŸ”’
    Tracks the header map danger level! This relates to the adaptive hashing algorithm. A HeaderMap starts in the β€œgreen” state, when a large number of collisions are detected, it transitions to the yellow state. At this point, the header map will either grow and switch back to the green state OR it will transition to the red state.
  • A view into a single location in a HeaderMap, which may be vacant or occupied.
  • Link πŸ”’
    A header value node is either linked to another node in the extra_values list or it points to an entry in entries. The entry in entries is the start of the list and holds the associated header name.

Constants§

Functions§

Type Aliases§

  • Size πŸ”’
    Type used for representing the size of a HeaderMap value.