All Projects → paritytech → parity-tokio-ipc

paritytech / parity-tokio-ipc

Licence: Apache-2.0, MIT licenses found Licenses found Apache-2.0 LICENSE-APACHE MIT LICENSE-MIT
Parity tokio-ipc

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to parity-tokio-ipc

not-enough-standards
A modern header-only C++ library that provides platform-independent utilities.
Stars: ✭ 197 (+264.81%)
Mutual labels:  named-pipes
HULK-v3
Asynchronous HTTP Botnet for Distributed Denial of Service (DDoS)
Stars: ✭ 152 (+181.48%)
Mutual labels:  named-pipes
ronin-support
A support library for Ronin. Like activesupport, but for hacking!
Stars: ✭ 23 (-57.41%)
Mutual labels:  unix-socket
Jetty.project
Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more
Stars: ✭ 3,260 (+5937.04%)
Mutual labels:  unix-socket
docker-spiped
The spiped secure pipe daemon.
Stars: ✭ 12 (-77.78%)
Mutual labels:  unix-socket
tiny-nix-ipc
Minimal Rust wrapper for using sockets as IPC with file descriptor passing
Stars: ✭ 14 (-74.07%)
Mutual labels:  unix-socket
dwm-ipc
A DWM patch that allows IPC communication through a UNIX socket
Stars: ✭ 55 (+1.85%)
Mutual labels:  unix-socket
httpie-unixsocket
A UNIX socket plugin for HTTPie
Stars: ✭ 40 (-25.93%)
Mutual labels:  unix-socket
bash-streams-handbook
💻 Learn Bash streams, pipelines and redirection, from beginner to advanced.
Stars: ✭ 153 (+183.33%)
Mutual labels:  named-pipes
LittleForker
A .NET utility library to spawn, supervise and (optionally) cleanly shut down child processes.
Stars: ✭ 103 (+90.74%)
Mutual labels:  named-pipes
CadenceSKILL-Python
Inter Process Communication (IPC) between Python and Cadence Virtuoso
Stars: ✭ 51 (-5.56%)
Mutual labels:  inter-process-communication
InterProcessCommunication
Inter-process Communication
Stars: ✭ 11 (-79.63%)
Mutual labels:  inter-process-communication

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:

use parity_tokio_ipc::Endpoint;
use futures::stream::StreamExt;

// For testing purposes only - instead, use a path to an actual socket or a pipe
let addr = parity_tokio_ipc::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::new_current_thread().enable_all().build().unwrap();
rt.block_on(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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].