rain_server 0.3.0-pre

Distributed computational framework for large-scale task-based pipelines. Server and governor binaries.
use capnp_rpc::{rpc_twoparty_capnp, twoparty, RpcSystem};
use tokio_io::{AsyncRead, AsyncWrite};

pub fn new_rpc_system<Stream>(
    stream: Stream,
    bootstrap: Option<::capnp::capability::Client>,
) -> RpcSystem<twoparty::VatId>
where
    Stream: AsyncRead + AsyncWrite + 'static,
{
    let (reader, writer) = stream.split();
    let network = Box::new(twoparty::VatNetwork::new(
        reader,
        writer,
        rpc_twoparty_capnp::Side::Client,
        Default::default(),
    ));
    RpcSystem::new(network, bootstrap)
}