Dusk Unix Domain Sockets

Crate Documentation

Minimalistic boilerplate for [UnixListener] bindings.

Complies with the log facade.

Installation

Add this to your Cargo.toml:

toml [dependencies] dusk-uds = "0.1"

Example

```rust use dusk_uds::{Message, State, UnixDomainSocket}; use std::io::{Read, Write}; use std::sync::mpsc;

fn handler(socket: S, sender: mpsc::Sender) -> S { let mut socket = socket; let mut buf = [0u8; 4];

// UnixListener implements Read + Write
socket.read_exact(&mut buf).unwrap();
socket.write_all(b"Some reply").unwrap();

// Ask the listener to stop after the next iteration
sender
    .send(Message::ChangeState(State::ShouldQuit))
    .unwrap();

socket

}

fn main() { // Set the correct path // /dev/null will fail, unless your OS is broken :) let uds = UnixDomainSocket::from("/dev/null").bind(handler); if let Err(_e) = uds { // Report } } ```