Skip to main content

MessageTypeField

Struct MessageTypeField 

Source
pub struct MessageTypeField(/* private fields */);
Expand description

MessageType and associated flags packed into a single byte.

Implementations§

Source§

impl MessageTypeField

Source

pub const fn new(value: u8) -> Self

Creates a new MessageTypeField with the given value.

§Examples
use rsomeip_proto::MessageTypeField;

let value = MessageTypeField::new(1 as u8);
assert_eq!(value.as_u8(), 1 as u8);
Source

pub const fn as_u8(self) -> u8

Returns the u8 representation of this MessageTypeField.

§Examples
use rsomeip_proto::MessageTypeField;

let value = MessageTypeField::new(1 as u8);
assert_eq!(value.as_u8(), 1 as u8);
Source§

impl MessageTypeField

Source

pub const TP_FLAG: u8 = 0x20

Transport Protocol flag. Determines if the message is a segment of a larger message.

Source

pub const ALL_FLAGS: u8 = Self::TP_FLAG

A mask of all MessageTypeField flags.

Source

pub const fn is_tp(&self) -> bool

Whether the Transport Protocol flag is set.

§Examples
use rsomeip_proto::MessageTypeField;

assert!(!MessageTypeField::new(0).is_tp());
assert!(MessageTypeField::new(MessageTypeField::TP_FLAG).is_tp());
Source

pub const fn flags(self) -> u8

Returns the mask of all currently enabled flags.

§Examples
use rsomeip_proto::MessageTypeField;

let mask = MessageTypeField::new(MessageTypeField::TP_FLAG).flags();
assert_eq!(mask, MessageTypeField::TP_FLAG);
Source

pub const fn with_flags(self, flags: u8, enabled: bool) -> Self

Returns this MessageTypeField with the given flags set to enabled.

§Examples
use rsomeip_proto::MessageTypeField;

let field = MessageTypeField::default()
    .with_flags(MessageTypeField::TP_FLAG, true);
assert_eq!(field.flags(), MessageTypeField::TP_FLAG);

let field = field.with_flags(MessageTypeField::TP_FLAG, false);
assert_eq!(field.flags(), 0);
Source

pub const fn as_type(self) -> MessageType

Returns the MessageType representation of this MessageTypeField.

Ignores all flags.

§Examples
use rsomeip_proto::{MessageType, MessageTypeField};

let field = MessageTypeField::new(0x80);
assert_eq!(field.as_type(), MessageType::Response);
Source

pub const fn from_type(value: MessageType) -> Self

Creates a new MessageTypeField from the given MessageType.

§Examples
use rsomeip_proto::{MessageType, MessageTypeField};

let field = MessageTypeField::from_type(MessageType::Response);
assert_eq!(field.as_u8(), 0x80);

Trait Implementations§

Source§

impl Clone for MessageTypeField

Source§

fn clone(&self) -> MessageTypeField

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MessageTypeField

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for MessageTypeField

Source§

fn default() -> MessageTypeField

Returns the “default value” for a type. Read more
Source§

impl Deserialize for MessageTypeField

Source§

type Output = MessageTypeField

Type of the data that will be deserialized.
Source§

fn deserialize(buffer: &mut impl Buf) -> Result<Self::Output, DeserializeError>

Deserializes an instance of Deserialize::Output from the buffer. Read more
Source§

fn deserialize_len( length: LengthField, buffer: &mut impl Buf, ) -> Result<Self::Output, DeserializeError>

Deserializes an instance of Deserialize::Output from the buffer. Read more
Source§

impl Display for MessageTypeField

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<MessageTypeField> for u8

Source§

fn from(value: MessageTypeField) -> Self

Converts to this type from the input type.
Source§

impl From<u8> for MessageTypeField

Source§

fn from(value: u8) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for MessageTypeField

Source§

fn eq(&self, other: &MessageTypeField) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for MessageTypeField

Source§

fn serialize(&self, buffer: &mut impl BufMut) -> Result<usize, SerializeError>

Serializes the implementing type into the buffer. Read more
Source§

fn size_hint(&self) -> usize

Returns the expected length of the serialized data. Read more
Source§

fn serialize_len( &self, length: LengthField, buffer: &mut impl BufMut, ) -> Result<usize, SerializeError>

Serializes the implementing type into the buffer. Read more
Source§

impl Copy for MessageTypeField

Source§

impl Eq for MessageTypeField

Source§

impl StructuralPartialEq for MessageTypeField

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.