[][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.

Methods

impl Protocol[src]

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

Create new instance of shell protocol structure

Arguments

  • 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>, 
[src]

Listen for and process shell protocol messages

Arguments

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

Errors

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

Auto Trait Implementations

impl Send for Protocol

impl !Sync for Protocol

Blanket Implementations

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

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

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

type Error = Infallible

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> BorrowMut<T> for T where
    T: ?Sized
[src]

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

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