parity-tokio-ipc

CI Documentation

This crate abstracts interprocess transport for UNIX/Windows.

It utilizes unix sockets on UNIX (via tokio::net::UnixStream) and named pipes on windows (via tokio::net::windows::named_pipe module).

Endpoint is transport-agnostic interface for incoming connections: ```rust use paritytokioipc::Endpoint; use futures::stream::StreamExt;

// For testing purposes only - instead, use a path to an actual socket or a pipe let addr = paritytokioipc::dummy_endpoint();

let server = async move { Endpoint::new(addr) .incoming() .expect("Couldn't set up server") .for_each(|conn| async { match conn { Ok(stream) => println!("Got connection!"), Err(e) => eprintln!("Error when receiving connection: {:?}", e), } }); };

let rt = tokio::runtime::Builder::newcurrentthread().enableall().build().unwrap(); rt.blockon(server); ```

License

parity-tokio-ipc is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0), with portions covered by various BSD-like licenses.

See LICENSE-APACHE, and LICENSE-MIT for details.