[][src]Struct rhyoea::debug::messenger::Messenger

pub struct Messenger<T> where
    T: Connection
{ /* fields omitted */ }

The Messenger type. See the module level documentation for more.

Methods

impl<T> Messenger<T> where
    T: Connection
[src]

pub fn new<U: Fn(MessageSeverity, MessageType, Message)>(
    connection: T,
    message_callback: U,
    message_severity: MessageSeverity,
    message_type: MessageType
) -> Result<Self>
[src]

Create a new Messenger. See the module level documentation for more

Example

use rhyoea::instance::{application::Application, Instance};
use rhyoea::extends::{Extensions, Extends, Filtrable, Layers};
use rhyoea::debug::messenger::{Messenger, Message, MessageSeverity, MessageType};

let application = Application::default();

let extensions = Extensions::available()
    .into_iter()
    .filter(Messenger::require_extension)
    .collect();

let layers: Vec<_> = Layers::available()
    .into_iter()
    .filter(Messenger::suggest_layer)
    .collect();

let message_severity = MessageSeverity::all();
let message_type = MessageType::all();

let instance = Instance::new(&application, extensions, layers).unwrap();
assert!(Messenger::new(instance, Message::default_callback, message_severity, message_type).is_ok());

pub fn default<U: Fn(MessageSeverity, MessageType, Message)>(
    connection: T,
    message: U
) -> Result<Self>
[src]

A trait for giving a type a useful default value.

Trait Implementations

impl Filtrable for Messenger<Instance>[src]

impl<T> Connection for Messenger<T> where
    T: Connection
[src]

impl<T> Drop for Messenger<T> where
    T: Connection
[src]

impl<T: Clone> Clone for Messenger<T> where
    T: Connection
[src]

impl<T: Debug> Debug for Messenger<T> where
    T: Connection
[src]

Auto Trait Implementations

impl<T> !Send for Messenger<T>

impl<T> !Sync for Messenger<T>

impl<T> Unpin for Messenger<T> where
    T: Unpin

impl<T> UnwindSafe for Messenger<T> where
    T: UnwindSafe

impl<T> RefUnwindSafe for Messenger<T> where
    T: RefUnwindSafe

Blanket Implementations

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

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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

type Error = !

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.

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

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

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