Struct stun_types::message::MessageHeader
source · pub struct MessageHeader { /* private fields */ }Expand description
The fixed length header of a STUN message. Allows reading the message header for a quick check if this message is a valid STUN message. Can also be used to expose the length of the complete message without needing to receive the entire message.
Implementations§
source§impl MessageHeader
impl MessageHeader
sourcepub fn from_bytes(data: &[u8]) -> Result<Self, StunParseError>
pub fn from_bytes(data: &[u8]) -> Result<Self, StunParseError>
Deserialize a MessageHeader
§Examples
let msg_data = [0, 1, 0, 8, 33, 18, 164, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 232];
let message = MessageHeader::from_bytes(&msg_data).unwrap();
assert_eq!(message.get_type(), MessageType::from_class_method(MessageClass::Request, BINDING));
assert_eq!(message.transaction_id(), 1000.into());
assert_eq!(message.data_length(), 8);sourcepub fn data_length(&self) -> u16
pub fn data_length(&self) -> u16
The number of bytes of content in this MessageHeader. Adding both data_length()
and MessageHeader::LENGTH will result in the size of the complete STUN message.
sourcepub fn transaction_id(&self) -> TransactionId
pub fn transaction_id(&self) -> TransactionId
The TransactionId of this MessageHeader
sourcepub fn get_type(&self) -> MessageType
pub fn get_type(&self) -> MessageType
The MessageType of this MessageHeader
Auto Trait Implementations§
impl Freeze for MessageHeader
impl RefUnwindSafe for MessageHeader
impl Send for MessageHeader
impl Sync for MessageHeader
impl Unpin for MessageHeader
impl UnwindSafe for MessageHeader
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