Type Alias UnixConnection

Source
pub type UnixConnection<C> = Connection<UnixStream, C>;
Expand description

UnixConnection is a Connection implementation over UnixStream

use std::net::{SocketAddr, IpAddr, Ipv4Addr};
 
extern crate tokio;
use tokio::prelude::*;
use tokio::{spawn, run};
 
#[macro_use]
extern crate serde_derive;
 
extern crate daemon_engine;
use daemon_engine::{UnixConnection, JsonCodec, DaemonError};
 
#[derive(Debug, Clone, Serialize, Deserialize)]
struct Request {}
 
#[derive(Debug, Clone, Serialize, Deserialize)]
struct Response {}
 
let addr = "/var/tmp/test-daemon.sock";
let client = UnixConnection::<JsonCodec<Request, Response>>::new(&addr, JsonCodec::new()).wait().unwrap();
let (tx, rx) = client.split();
 
// Send data
tx.send(Request{}).wait().unwrap();
 
// Receive data
rx.map(|resp| -> Result<(), DaemonError> {
   println!("Response: {:?}", resp);
   Ok(())
}).wait().next();

Aliased Type§

struct UnixConnection<C> { /* private fields */ }

Implementations§

Source§

impl<C> UnixConnection<C>
where C: Encoder + Decoder + Clone + Send + 'static, <C as Decoder>::Item: Send, <C as Decoder>::Error: Send + Debug,

Source

pub fn new( path: &str, codec: C, ) -> impl Future<Item = UnixConnection<C>, Error = Error>

Create a new client connected to the provided unix socket address

Source

pub fn close(self)