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.