Struct MidiStreamParser

Source
pub struct MidiStreamParser<const SYSEX_MAX_LEN: usize> { /* private fields */ }
Expand description

Parser type with internal states. Owns a buffer of SYSEX_MAX_LEN bytes for constructing SysEx messages.

Implementations§

Source§

impl<const SYSEX_MAX_LEN: usize> MidiStreamParser<SYSEX_MAX_LEN>

Source

pub fn new() -> Self

Returns a new parser.

Source

pub fn parse(&mut self, byte: u8) -> Result<Option<&[u8]>, ParserError>

Feed a byte into the parser and return result. The Ok variant is an option that contains either the constructed message or None in case the message is not ready yet.

Trait Implementations§

Source§

impl<const SYSEX_MAX_LEN: usize> Debug for MidiStreamParser<SYSEX_MAX_LEN>

Source§

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

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

impl<const SYSEX_MAX_LEN: usize> Default for MidiStreamParser<SYSEX_MAX_LEN>

Source§

fn default() -> Self

Returns a new parser with default values.

Auto Trait Implementations§

§

impl<const SYSEX_MAX_LEN: usize> Freeze for MidiStreamParser<SYSEX_MAX_LEN>

§

impl<const SYSEX_MAX_LEN: usize> RefUnwindSafe for MidiStreamParser<SYSEX_MAX_LEN>

§

impl<const SYSEX_MAX_LEN: usize> Send for MidiStreamParser<SYSEX_MAX_LEN>

§

impl<const SYSEX_MAX_LEN: usize> Sync for MidiStreamParser<SYSEX_MAX_LEN>

§

impl<const SYSEX_MAX_LEN: usize> Unpin for MidiStreamParser<SYSEX_MAX_LEN>

§

impl<const SYSEX_MAX_LEN: usize> UnwindSafe for MidiStreamParser<SYSEX_MAX_LEN>

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