crossmist
crossmist provides efficient and seamless cross-process communication for Rust. It provides semantics similar to std::thread::spawn
and single-producer single-consumer channels, both synchronously and asynchronously.
Installation
$ cargo add crossmist
Or add the following to your Cargo.toml
:
= "1.0"
Documentation
Check out docs.rs.
Motivational examples
This crate allows you to easily perform computations in another process without creating a separate executable or parsing command line arguments manually. For example, the simplest example, computing a sum of several numbers in a one-shot subprocess, looks like this:
This crate also supports long-lived tasks with constant cross-process communication:
Almost arbitrary objects can be passed between processes and across channels, including file handles, sockets, and other channels.