pub struct Packet<T: AsRef<[u8]>> { /* private fields */ }Expand description
A read/write wrapper around a Some/IP packet buffer.
Implementations§
Source§impl<T: AsRef<[u8]>> Packet<T>
impl<T: AsRef<[u8]>> Packet<T>
Sourcepub const fn new_unchecked(buffer: T) -> Packet<T>
pub const fn new_unchecked(buffer: T) -> Packet<T>
Sourcepub fn new_checked(buffer: T) -> Result<Packet<T>>
pub fn new_checked(buffer: T) -> Result<Packet<T>>
Sourcepub fn check_len(&self) -> Result<()>
pub fn check_len(&self) -> Result<()>
Checks the length of the packet.
§Returns
Result<()>- Ok if the length is valid, otherwise an error.
Sourcepub fn into_inner(self) -> T
pub fn into_inner(self) -> T
Sourcepub fn message_id(&self) -> MessageId
pub fn message_id(&self) -> MessageId
Sourcepub fn payload_length(&self) -> usize
pub fn payload_length(&self) -> usize
Sourcepub fn request_id(&self) -> RequestId
pub fn request_id(&self) -> RequestId
Sourcepub fn protocol_version(&self) -> u8
pub fn protocol_version(&self) -> u8
Sourcepub fn interface_version(&self) -> u8
pub fn interface_version(&self) -> u8
Sourcepub fn message_type(&self) -> u8
pub fn message_type(&self) -> u8
Sourcepub fn return_code(&self) -> u8
pub fn return_code(&self) -> u8
Sourcepub fn payload_data_range(&self) -> Range<usize> ⓘ
pub fn payload_data_range(&self) -> Range<usize> ⓘ
Sourcepub fn payload_data_length(&self) -> usize
pub fn payload_data_length(&self) -> usize
Source§impl<T: AsRef<[u8]> + AsMut<[u8]>> Packet<T>
impl<T: AsRef<[u8]> + AsMut<[u8]>> Packet<T>
Sourcepub fn set_message_id(&mut self, message_id: MessageId)
pub fn set_message_id(&mut self, message_id: MessageId)
Sourcepub fn set_payload_length(&mut self, length: u32)
pub fn set_payload_length(&mut self, length: u32)
Sourcepub fn set_request_id(&mut self, request_id: RequestId)
pub fn set_request_id(&mut self, request_id: RequestId)
Sourcepub fn set_protocol_version(&mut self, version: u8)
pub fn set_protocol_version(&mut self, version: u8)
Sourcepub fn set_interface_version(&mut self, version: u8)
pub fn set_interface_version(&mut self, version: u8)
Sourcepub fn set_message_type(&mut self, message_type: u8)
pub fn set_message_type(&mut self, message_type: u8)
Sourcepub fn set_return_code(&mut self, return_code: u8)
pub fn set_return_code(&mut self, return_code: u8)
Source§impl<'a, T: AsRef<[u8]> + ?Sized> Packet<&'a T>
impl<'a, T: AsRef<[u8]> + ?Sized> Packet<&'a T>
Sourcepub fn payload_data(&self) -> &'a [u8]
pub fn payload_data(&self) -> &'a [u8]
Sourcepub fn entire_message(&self) -> &'a [u8]
pub fn entire_message(&self) -> &'a [u8]
Source§impl<'a, T: AsRef<[u8]> + AsMut<[u8]> + ?Sized> Packet<&'a mut T>
impl<'a, T: AsRef<[u8]> + AsMut<[u8]> + ?Sized> Packet<&'a mut T>
Sourcepub fn payload_data_mut(&mut self) -> &mut [u8]
pub fn payload_data_mut(&mut self) -> &mut [u8]
Returns a mutable reference to the payload data,
§Returns
&'a mut [u8]- A mutable reference to the payload data.
Sourcepub fn entire_message_mut(&mut self) -> &mut [u8]
pub fn entire_message_mut(&mut self) -> &mut [u8]
Returns a mutable reference to the entire message.
§Returns
&'a mut [u8]- A mutable reference to the entire message.
Trait Implementations§
impl<T: Eq + AsRef<[u8]>> Eq for Packet<T>
impl<T: AsRef<[u8]>> StructuralPartialEq for Packet<T>
Auto Trait Implementations§
impl<T> Freeze for Packet<T>where
T: Freeze,
impl<T> RefUnwindSafe for Packet<T>where
T: RefUnwindSafe,
impl<T> Send for Packet<T>where
T: Send,
impl<T> Sync for Packet<T>where
T: Sync,
impl<T> Unpin for Packet<T>where
T: Unpin,
impl<T> UnwindSafe for Packet<T>where
T: UnwindSafe,
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