pub struct HeaderView<'a>(/* private fields */);Expand description
Zero-copy view into a 16-byte SOME/IP header in a buffer.
Implementations§
Source§impl<'a> HeaderView<'a>
impl<'a> HeaderView<'a>
Sourcepub fn parse(buf: &'a [u8]) -> Result<(Self, &'a [u8]), Error>
pub fn parse(buf: &'a [u8]) -> Result<(Self, &'a [u8]), Error>
Parse and validate a SOME/IP header from the beginning of buf.
Returns (view, remaining_bytes) on success.
§Errors
Returns an error if buf is shorter than 16 bytes, the protocol version is
not 0x01, the message type byte is unrecognized, or the return code is invalid.
§Panics
Cannot panic — the expect is guarded by a length check above it.
Sourcepub fn message_id(&self) -> MessageId
pub fn message_id(&self) -> MessageId
Returns the message ID (service ID + method ID).
Sourcepub fn request_id(&self) -> u32
pub fn request_id(&self) -> u32
Returns the request ID (client ID + session ID).
Sourcepub fn payload_size(&self) -> usize
pub fn payload_size(&self) -> usize
Returns the payload size in bytes (length - 8).
Sourcepub fn protocol_version(&self) -> u8
pub fn protocol_version(&self) -> u8
Returns the protocol version.
Sourcepub fn interface_version(&self) -> u8
pub fn interface_version(&self) -> u8
Returns the interface version.
Sourcepub fn message_type(&self) -> MessageTypeField
pub fn message_type(&self) -> MessageTypeField
Sourcepub fn return_code(&self) -> ReturnCode
pub fn return_code(&self) -> ReturnCode
Trait Implementations§
Source§impl<'a> Clone for HeaderView<'a>
impl<'a> Clone for HeaderView<'a>
Source§fn clone(&self) -> HeaderView<'a>
fn clone(&self) -> HeaderView<'a>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'a> Debug for HeaderView<'a>
impl<'a> Debug for HeaderView<'a>
impl<'a> Copy for HeaderView<'a>
Auto Trait Implementations§
impl<'a> Freeze for HeaderView<'a>
impl<'a> RefUnwindSafe for HeaderView<'a>
impl<'a> Send for HeaderView<'a>
impl<'a> Sync for HeaderView<'a>
impl<'a> Unpin for HeaderView<'a>
impl<'a> UnsafeUnpin for HeaderView<'a>
impl<'a> UnwindSafe for HeaderView<'a>
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