[][src]Module nvim_rs::runtime

Re-exports of runtime functionality for async

This tries to somehow encapsulate what we're using from tokio. Maybe this is of use when we try to port this to async-std or another runtime, or even make it generic over the runtime.

Modules

oneshot

A channel for sending a single message between asynchronous tasks.

Structs

BufReader

The BufReader struct adds buffering to any reader.

BufWriter

Wraps a writer and buffers its output.

Child

Representation of a child process spawned onto an event loop.

ChildStdin

The standard input stream for spawned children.

ChildStdout

The standard output stream for spawned children.

Command

This structure mimics the API of std::process::Command found in the standard library, but replaces functions that create a process with an asynchronous variant. The main provided asynchronous functions are spawn, status, and output.

JoinHandle

An owned permission to join on a task (await its termination).

Mutex

An asynchronous mutual exclusion primitive useful for protecting shared data

Receiver

Receive values from the associated Sender.

Sender

Send values to the associated Receiver.

Stdin

A handle to the standard input stream of a process.

Stdout

A handle to the standard output stream of a process.

TcpStream

A TCP stream between a local and a remote socket.

Traits

AsyncRead

Read bytes from a source.

AsyncReadExt

Read bytes from a source.

AsyncWrite

Writes bytes asynchronously.

AsyncWriteExt

Write bytes to a sink.

Functions

channel

Create a bounded mpsc channel for communicating between asynchronous tasks, returning the sender/receiver halves.

spawn

Spawns a new asynchronous task, returning a JoinHandle for it.

stdin

Constructs a new handle to the standard input of the current process.

stdout

Constructs a new handle to the standard output of the current process.

Type Definitions

Result

A specialized Result type for I/O operations.