runng 0.1.5

High-level wrapper around nng (Nanomsg-Next-Generation) aka Nanomsg2
Documentation

runng

High-level wrapper around NNG.

Features:

Sample

#[test]
fn aio() -> Result<(), NngFail> {
    let url = String::from("inproc://test");

    let factory = Latest::new();
    let mut rep_ctx = factory
        .replier_open()?
        .listen(&url)?
        .create_async_context()?;

    let requester = factory.requester_open()?.dial(&url)?;
    let mut req_ctx = requester.create_async_context()?;
    let req_future = req_ctx.send(msg::NngMsg::new()?);
    rep_ctx.receive()
        .take(1).for_each(|request|{
            let msg = msg::NngMsg::new().unwrap();
            rep_ctx.reply(msg).wait().unwrap();
            Ok(())
        }).wait();
    req_future.wait().unwrap()?;

    Ok(())
}