Trait SyslogQueueChannel

Source
pub trait SyslogQueueChannel<D: SyslogDestination>:
    Debug
    + Send
    + Clone
    + 'static {
    type ChannelSnd: SyslogQueueChanSnd<D, Self>;
    type ChannelRcv: SyslogQueueChanRcv<D, Self>;
    type OneShotChannelSnd<C: Send + Debug>: SyslogQueueOneChanSnd<C>;
    type OneShotChannelRcv<C>: SyslogQueueOneChanRcv<C>;

    // Required methods
    fn create_channel() -> (Self::ChannelSnd, Self::ChannelRcv);
    fn create_oneshot_channel<C: Send + Debug>(    ) -> (Self::OneShotChannelSnd<C>, Self::OneShotChannelRcv<C>);
}
Expand description

A trait which should be implemented by the channel provider which forms a command queue. This trait provides a common interface which includes everything i.e channel, oneshot channel and manipulations.

Required Associated Types§

Source

type ChannelSnd: SyslogQueueChanSnd<D, Self>

A send side of the channel type.

Source

type ChannelRcv: SyslogQueueChanRcv<D, Self>

A receive side of the channel type.

Source

type OneShotChannelSnd<C: Send + Debug>: SyslogQueueOneChanSnd<C>

A oneshot send side of the channel type.

Source

type OneShotChannelRcv<C>: SyslogQueueOneChanRcv<C>

A oneshor receive side of the channel type.

Required Methods§

Source

fn create_channel() -> (Self::ChannelSnd, Self::ChannelRcv)

Creates unbounded channel.

Source

fn create_oneshot_channel<C: Send + Debug>() -> (Self::OneShotChannelSnd<C>, Self::OneShotChannelRcv<C>)

Creates oneshot channel.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§