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

impl<T> From<T> for 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]