Struct memsocket::MemorySocket[][src]

pub struct MemorySocket { /* fields omitted */ }
Expand description

An in-memory stream between two local sockets.

A MemorySocket can either be created by connecting to an endpoint, via the connect method, or by accepting a connection from a listener. It can be read or written to using the AsyncRead, AsyncWrite, and related extension traits in futures::io.

Examples

use futures::prelude::*;
use memsocket::MemorySocket;

let (mut socket_a, mut socket_b) = MemorySocket::new_pair();

socket_a.write_all(b"stormlight").await?;
socket_a.flush().await?;

let mut buf = [0; 10];
socket_b.read_exact(&mut buf).await?;
assert_eq!(&buf, b"stormlight");

Implementations

Construct both sides of an in-memory socket.

Examples

use memsocket::MemorySocket;

let (socket_a, socket_b) = MemorySocket::new_pair();

Create a new in-memory Socket connected to the specified port.

This function will create a new MemorySocket socket and attempt to connect it to the port provided.

Examples

use memsocket::MemorySocket;

let socket = MemorySocket::connect(16)?;

Trait Implementations

Attempt to read from the AsyncRead into buf.

Attempt to read from the AsyncRead into bufs using vectored IO operations. Read more

Attempt to write bytes from buf into the outgoing channel.

Attempt to flush the channel. Cannot Fail.

Attempt to close the channel. Cannot Fail.

Attempt to write bytes from bufs into the object using vectored IO operations. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Creates an adaptor which will chain this stream with another. Read more

Tries to read some bytes directly into the given buf in asynchronous manner, returning a future type. Read more

Creates a future which will read from the AsyncRead into bufs using vectored IO operations. Read more

Creates a future which will read exactly enough bytes to fill buf, returning an error if end of file (EOF) is hit sooner. Read more

Creates a future which will read all the bytes from this AsyncRead. Read more

Creates a future which will read all the bytes from this AsyncRead. Read more

Helper method for splitting this read/write object into two halves. Read more

Creates an AsyncRead adapter which will read at most limit bytes from the underlying reader. Read more

Creates a future which will entirely flush this AsyncWrite. Read more

Creates a future which will entirely close this AsyncWrite.

Creates a future which will write bytes from buf into the object. Read more

Creates a future which will write bytes from bufs into the object using vectored IO operations. Read more

Write data into this object. Read more

Allow using an [AsyncWrite] as a Sink<Item: AsRef<[u8]>>. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.