1 //! Contains data structures and utilities for handling gRPC custom metadata.
2 
3 mod encoding;
4 mod key;
5 mod map;
6 mod value;
7 
8 pub use self::encoding::Ascii;
9 pub use self::encoding::Binary;
10 pub use self::key::AsciiMetadataKey;
11 pub use self::key::BinaryMetadataKey;
12 pub use self::key::MetadataKey;
13 pub use self::map::Entry;
14 pub use self::map::GetAll;
15 pub use self::map::Iter;
16 pub use self::map::IterMut;
17 pub use self::map::KeyAndMutValueRef;
18 pub use self::map::KeyAndValueRef;
19 pub use self::map::KeyRef;
20 pub use self::map::Keys;
21 pub use self::map::MetadataMap;
22 pub use self::map::OccupiedEntry;
23 pub use self::map::VacantEntry;
24 pub use self::map::ValueDrain;
25 pub use self::map::ValueIter;
26 pub use self::map::ValueRef;
27 pub use self::map::ValueRefMut;
28 pub use self::map::Values;
29 pub use self::map::ValuesMut;
30 pub use self::value::AsciiMetadataValue;
31 pub use self::value::BinaryMetadataValue;
32 pub use self::value::MetadataValue;
33 
34 pub(crate) use self::map::GRPC_TIMEOUT_HEADER;
35 
36 /// The metadata::errors module contains types for errors that can occur
37 /// while handling gRPC custom metadata.
38 pub mod errors {
39     pub use super::encoding::InvalidMetadataValue;
40     pub use super::encoding::InvalidMetadataValueBytes;
41     pub use super::key::InvalidMetadataKey;
42     pub use super::value::ToStrError;
43 }
44