[][src]Struct i3_ipc::MsgResponse

pub struct MsgResponse<D> {
    pub msg_type: Msg,
    pub body: D,
}

Instead of returning an enum, we're returning a struct containing the Msg type and some body. An advantage to this over the enum method is that there is no minimum memory size that we must have. This is helpful when some variants are very large compared to others, as in the case of say reply::Node vs reply::Config

Fields

msg_type: Msgbody: D

Implementations

impl<D> MsgResponse<D> where
    D: DeserializeOwned
[src]

MsgResponse is valid for anything which can be deserialized with serde

pub fn new(msg_type: u32, buf: Vec<u8>) -> Result<MsgResponse<D>, Error>[src]

Trait Implementations

impl<D> Debug for MsgResponse<D> where
    D: Debug
[src]

Auto Trait Implementations

impl<D> RefUnwindSafe for MsgResponse<D> where
    D: RefUnwindSafe

impl<D> Send for MsgResponse<D> where
    D: Send

impl<D> Sync for MsgResponse<D> where
    D: Sync

impl<D> Unpin for MsgResponse<D> where
    D: Unpin

impl<D> UnwindSafe for MsgResponse<D> where
    D: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.