pub struct ChannelManager { /* private fields */ }Expand description
Manages a set of registered channels.
When a PairingManager is attached, it can be used to verify that
incoming DM senders are paired before processing their messages.
Implementations§
Source§impl ChannelManager
impl ChannelManager
pub fn new() -> Self
Sourcepub fn with_pairing(self, pairing: PairingManager) -> Self
pub fn with_pairing(self, pairing: PairingManager) -> Self
Attach a pairing manager for device-pairing enforcement.
Sourcepub fn pairing(&self) -> Option<&PairingManager>
pub fn pairing(&self) -> Option<&PairingManager>
Access the pairing manager, if present.
Sourcepub fn pairing_mut(&mut self) -> Option<&mut PairingManager>
pub fn pairing_mut(&mut self) -> Option<&mut PairingManager>
Mutable access to the pairing manager, if present.
Sourcepub fn channel_count(&self) -> usize
pub fn channel_count(&self) -> usize
Number of registered channels.
Sourcepub fn channel_names(&self) -> Vec<&str>
pub fn channel_names(&self) -> Vec<&str>
List all registered channel names.
Sourcepub fn channel_status(&self, name: &str) -> Option<ChannelStatus>
pub fn channel_status(&self, name: &str) -> Option<ChannelStatus>
Get the status of a channel by name.
Sourcepub async fn connect_all(&mut self) -> Vec<(String, Result<(), RustantError>)>
pub async fn connect_all(&mut self) -> Vec<(String, Result<(), RustantError>)>
Connect all registered channels.
Sourcepub async fn disconnect_all(
&mut self,
) -> Vec<(String, Result<(), RustantError>)>
pub async fn disconnect_all( &mut self, ) -> Vec<(String, Result<(), RustantError>)>
Disconnect all registered channels.
Sourcepub async fn broadcast(
&self,
msg: ChannelMessage,
) -> Vec<(String, Result<MessageId, RustantError>)>
pub async fn broadcast( &self, msg: ChannelMessage, ) -> Vec<(String, Result<MessageId, RustantError>)>
Broadcast a message to all connected channels.
Sourcepub async fn poll_all(
&self,
) -> Vec<(String, Result<Vec<ChannelMessage>, RustantError>)>
pub async fn poll_all( &self, ) -> Vec<(String, Result<Vec<ChannelMessage>, RustantError>)>
Poll all connected channels for new messages.
Sourcepub async fn send_to(
&self,
channel_name: &str,
msg: ChannelMessage,
) -> Result<MessageId, RustantError>
pub async fn send_to( &self, channel_name: &str, msg: ChannelMessage, ) -> Result<MessageId, RustantError>
Send a message to a specific channel by name.
Sourcepub fn connected_count(&self) -> usize
pub fn connected_count(&self) -> usize
Get number of connected channels.
Sourcepub fn get_capabilities(
&self,
channel_name: &str,
) -> Option<ChannelCapabilities>
pub fn get_capabilities( &self, channel_name: &str, ) -> Option<ChannelCapabilities>
Get the capabilities of a channel by name.
Sourcepub fn channels_supporting_threads(&self) -> Vec<&str>
pub fn channels_supporting_threads(&self) -> Vec<&str>
List names of channels that support threads.
Sourcepub fn channels_by_streaming_mode(&self) -> HashMap<&str, StreamingMode>
pub fn channels_by_streaming_mode(&self) -> HashMap<&str, StreamingMode>
Map of channel names to their streaming modes.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ChannelManager
impl !RefUnwindSafe for ChannelManager
impl Send for ChannelManager
impl Sync for ChannelManager
impl Unpin for ChannelManager
impl UnsafeUnpin for ChannelManager
impl !UnwindSafe for ChannelManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);