zeromq 0.6.0

A native Rust implementation of ZeroMQ
Documentation
mod async_helpers;

use zeromq::{proxy, Socket, XPubSocket, XSubSocket};

#[async_helpers::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    pretty_env_logger::try_init().ok();

    let mut frontend = XSubSocket::new();
    let mut backend = XPubSocket::new();

    let frontend_endpoint = frontend.bind("tcp://127.0.0.1:5557").await?;
    let backend_endpoint = backend.bind("tcp://127.0.0.1:5558").await?;

    println!("XSUB/XPUB proxy running");
    println!(
        "Upstream publishers or brokers connect to {}",
        frontend_endpoint
    );
    println!(
        "Downstream subscribers or brokers connect to {}",
        backend_endpoint
    );

    proxy(frontend, backend, None).await?;
    Ok(())
}