Skip to main content

BaseMessage

Struct BaseMessage 

Source
pub struct BaseMessage {
    pub msg_type: MessageType,
    pub id: u16,
    pub refers_to: u16,
    pub sent: Timeval,
    pub received: Timeval,
    pub size: u32,
}
Expand description

Base message header (26 bytes).

Every Snapcast protocol message starts with this header, followed by size bytes of typed payload.

Fields§

§msg_type: MessageType

Type of the message payload.

§id: u16

Sequence identifier.

§refers_to: u16

ID of the message this is a response to.

§sent: Timeval

Timestamp when the message was sent.

§received: Timeval

Timestamp when the message was received.

§size: u32

Size of the payload in bytes.

Implementations§

Source§

impl BaseMessage

Source

pub const HEADER_SIZE: usize = 26

Size of the serialized header in bytes.

Source

pub fn read_from<R: Read>(r: &mut R) -> Result<Self, ProtoError>

Deserialize a base message header from a reader.

Source

pub fn write_to<W: Write>(&self, w: &mut W) -> Result<(), ProtoError>

Serialize a base message header to a writer.

Source

pub fn to_bytes(&self) -> Result<Vec<u8>, ProtoError>

Serialize to a new Vec<u8>.

Trait Implementations§

Source§

impl Clone for BaseMessage

Source§

fn clone(&self) -> BaseMessage

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 BaseMessage

Source§

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

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

impl PartialEq for BaseMessage

Source§

fn eq(&self, other: &BaseMessage) -> 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 Eq for BaseMessage

Source§

impl StructuralPartialEq for BaseMessage

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, 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.