Struct IrcMsg

Source
pub struct IrcMsg<'msg> { /* private fields */ }
Expand description

A single IRC Message created from a slice of bytes.

Implementations§

Source§

impl<'msg> IrcMsg<'msg>

Source

pub const fn parse(input: &'msg [u8]) -> Result<Self, IrcMsgError<'_>>

Generates an IrcMsg from a slice of bytes.

§Errors

Will return Err if the input is empty or any of the IrcMsg components fail to parse.

Source

pub const fn parse_utf8_only(input: &'msg [u8]) -> Result<Self, IrcMsgError<'_>>

Generates a utf8-only IrcMsg from a slice of bytes.

§Errors

Will return Err if the input is empty, contains non-utf8 bytes or any of the IrcMsg components fail to parse.

Source

pub const fn tags(&self) -> Option<Tags<'_>>

Extract the Tags from an IrcMsg if they exist.

Source

pub const fn source(&self) -> Option<Source<'_>>

Extract the Source from an IrcMsg if it exists.

Source

pub const fn command(&self) -> Command<'_>

Extract the Command from an IrcMsg.

Source

pub const fn parameters(&self) -> Option<Parameters<'_>>

Extract the Parameters from an IrcMsg if they exist.

Source

pub const fn strip_tags(self) -> Self

Strips the Tags from an IrcMsg.

If a client doesn’t support IRC Tags you can strip them from the IrcMsg. Probably most useful for IRC server software as IRC servers should never send clients messages with Tags unless the client indicates their support for them.

Trait Implementations§

Source§

impl<'msg> Clone for IrcMsg<'msg>

Source§

fn clone(&self) -> IrcMsg<'msg>

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<'msg> Debug for IrcMsg<'msg>

Source§

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

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

impl<'msg> Display for IrcMsg<'msg>

Source§

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

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

impl<'msg> PartialEq for IrcMsg<'msg>

Source§

fn eq(&self, other: &IrcMsg<'msg>) -> 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<'msg> Copy for IrcMsg<'msg>

Source§

impl<'msg> Eq for IrcMsg<'msg>

Source§

impl<'msg> StructuralPartialEq for IrcMsg<'msg>

Auto Trait Implementations§

§

impl<'msg> Freeze for IrcMsg<'msg>

§

impl<'msg> RefUnwindSafe for IrcMsg<'msg>

§

impl<'msg> Send for IrcMsg<'msg>

§

impl<'msg> Sync for IrcMsg<'msg>

§

impl<'msg> Unpin for IrcMsg<'msg>

§

impl<'msg> UnwindSafe for IrcMsg<'msg>

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