pub struct Tlvs {
pub alpn: Option<Vec<u8>>,
pub authority: Option<String>,
pub crc32c: Option<u32>,
pub unique_id: Option<Vec<u8>>,
pub netns: Option<String>,
pub ssl: Option<SslInfo>,
pub raw: Vec<(u8, Vec<u8>)>,
}Expand description
Parsed TLV extensions from a v2 Proxy Protocol header
Fields§
§alpn: Option<Vec<u8>>ALPN protocol negotiated (PP2_TYPE_ALPN, 0x01)
SNI hostname / authority (PP2_TYPE_AUTHORITY, 0x02)
crc32c: Option<u32>CRC32c of the entire header (PP2_TYPE_CRC32C, 0x03)
unique_id: Option<Vec<u8>>Unique connection ID (PP2_TYPE_UNIQUE_ID, 0x05)
netns: Option<String>Network namespace (PP2_TYPE_NETNS, 0x30)
ssl: Option<SslInfo>SSL/TLS information (PP2_TYPE_SSL, 0x20)
raw: Vec<(u8, Vec<u8>)>All TLVs preserved as (type_byte, value), including those already parsed into typed fields above
Trait Implementations§
impl Eq for Tlvs
impl StructuralPartialEq for Tlvs
Auto Trait Implementations§
impl Freeze for Tlvs
impl RefUnwindSafe for Tlvs
impl Send for Tlvs
impl Sync for Tlvs
impl Unpin for Tlvs
impl UnsafeUnpin for Tlvs
impl UnwindSafe for Tlvs
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more