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
.
Node in doubly-linked list of header value entries
A view to all values stored in a single entry.
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.
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
.
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.
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