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§
Sourcetype ChannelSnd: SyslogQueueChanSnd<D, Self>
type ChannelSnd: SyslogQueueChanSnd<D, Self>
A send side of the channel type.
Sourcetype ChannelRcv: SyslogQueueChanRcv<D, Self>
type ChannelRcv: SyslogQueueChanRcv<D, Self>
A receive side of the channel type.
Sourcetype OneShotChannelSnd<C: Send + Debug>: SyslogQueueOneChanSnd<C>
type OneShotChannelSnd<C: Send + Debug>: SyslogQueueOneChanSnd<C>
A oneshot send side of the channel type.
Sourcetype OneShotChannelRcv<C>: SyslogQueueOneChanRcv<C>
type OneShotChannelRcv<C>: SyslogQueueOneChanRcv<C>
A oneshor receive side of the channel type.
Required Methods§
Sourcefn create_channel() -> (Self::ChannelSnd, Self::ChannelRcv)
fn create_channel() -> (Self::ChannelSnd, Self::ChannelRcv)
Creates unbounded channel.
Sourcefn create_oneshot_channel<C: Send + Debug>() -> (Self::OneShotChannelSnd<C>, Self::OneShotChannelRcv<C>)
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.