[][src]Struct shell_protocol::ShellProtocol

pub struct ShellProtocol { /* fields omitted */ }

Shell Service Protocol structure

This structure is only intended for usage inside of the shell service. It is not required for usage by shell clients.


impl Protocol[src]

pub fn new(
    channel_protocol: ChannelProtocol,
    channel_id: u32,
    process: Box<ProcessHandler>
) -> Self

Create new instance of shell protocol structure


  • channel_protocol - Instance of ChannelProtocol
  • channel_id - Channel ID of shell session
  • process - Instance of ProcessHandler

pub fn message_engine<F>(
    &mut self,
    pump: F,
    timeout: Duration
) -> Result<(), ProtocolError> where
    F: Fn(Duration) -> Result<(ChannelMessage, SocketAddr), ProtocolError>, 

Listen for and process shell protocol messages


  • pump - Function which returns the next message for processing
  • timeout - Maximum time to listen for a single message


If this function encounters any errors, it will return an error message string

Auto Trait Implementations

impl Send for Protocol

impl Unpin for Protocol

impl !Sync for Protocol

impl UnwindSafe for Protocol

impl !RefUnwindSafe for Protocol

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 

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

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

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

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

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