rocket::http::hyper::net

Trait NetworkStream

Source
pub trait NetworkStream:
    Read
    + Write
    + Any
    + Send
    + Typeable {
    // Required methods
    fn peer_addr(&mut self) -> Result<SocketAddr, Error>;
    fn set_read_timeout(&self, dur: Option<Duration>) -> Result<(), Error>;
    fn set_write_timeout(&self, dur: Option<Duration>) -> Result<(), Error>;

    // Provided method
    fn close(&mut self, _how: Shutdown) -> Result<(), Error> { ... }
}
Expand description

An abstraction over streams that a Server can utilize.

Required Methods§

Source

fn peer_addr(&mut self) -> Result<SocketAddr, Error>

Get the remote address of the underlying connection.

Source

fn set_read_timeout(&self, dur: Option<Duration>) -> Result<(), Error>

Set the maximum time to wait for a read to complete.

Source

fn set_write_timeout(&self, dur: Option<Duration>) -> Result<(), Error>

Set the maximum time to wait for a write to complete.

Provided Methods§

Source

fn close(&mut self, _how: Shutdown) -> Result<(), Error>

This will be called when Stream should no longer be kept alive.

Implementations§

Source§

impl dyn NetworkStream

Source

pub fn is<T>(&self) -> bool
where T: Any,

Is the underlying type in this trait object a T?

Source

pub fn downcast_ref<T>(&self) -> Option<&T>
where T: Any,

If the underlying type is T, get a reference to the contained data.

Source

pub fn downcast_mut<T>(&mut self) -> Option<&mut T>
where T: Any,

If the underlying type is T, get a mutable reference to the contained data.

Source

pub fn downcast<T>( self: Box<dyn NetworkStream>, ) -> Result<Box<T>, Box<dyn NetworkStream>>
where T: Any,

If the underlying type is T, extract it.

Source§

impl dyn NetworkStream + Send

Source

pub fn is<T>(&self) -> bool
where T: Any,

Is the underlying type in this trait object a T?

Source

pub fn downcast_ref<T>(&self) -> Option<&T>
where T: Any,

If the underlying type is T, get a reference to the contained data.

Source

pub fn downcast_mut<T>(&mut self) -> Option<&mut T>
where T: Any,

If the underlying type is T, get a mutable reference to the contained data.

Source

pub fn downcast<T>( self: Box<dyn NetworkStream + Send>, ) -> Result<Box<T>, Box<dyn NetworkStream + Send>>
where T: Any,

If the underlying type is T, extract it.

Implementors§