pub struct Extension {
pub ext_type: u16,
pub data: Vec<u8>,
}Available on crate feature
extensions only.Expand description
Extension TLV (Type-Length-Value) format
Wire format:
+0 Extension Type (2 bytes LE16)
+2 Extension Length (2 bytes LE16)
+4 Extension Data (variable)Fields§
§ext_type: u16Extension type identifier
data: Vec<u8>Extension data
Implementations§
Source§impl Extension
impl Extension
Sourcepub fn compression(level: u8) -> Self
pub fn compression(level: u8) -> Self
Create compression extension with level
Sourcepub fn compression_level(&self) -> Option<u8>
pub fn compression_level(&self) -> Option<u8>
Get compression level if this is a compression extension
Sourcepub fn encode_into(&self, buf: &mut [u8]) -> Result<usize, NegotiationError>
pub fn encode_into(&self, buf: &mut [u8]) -> Result<usize, NegotiationError>
Encode into buffer, returns bytes written
Sourcepub fn decode(data: &[u8]) -> Result<Self, NegotiationError>
pub fn decode(data: &[u8]) -> Result<Self, NegotiationError>
Decode from bytes
Sourcepub fn decode_with_length(
data: &[u8],
) -> Result<(Self, usize), NegotiationError>
pub fn decode_with_length( data: &[u8], ) -> Result<(Self, usize), NegotiationError>
Decode from bytes, returning extension and bytes consumed
Trait Implementations§
impl Eq for Extension
impl StructuralPartialEq for Extension
Auto Trait Implementations§
impl Freeze for Extension
impl RefUnwindSafe for Extension
impl Send for Extension
impl Sync for Extension
impl Unpin for Extension
impl UnwindSafe for Extension
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