1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#![doc(html_root_url = "https://docs.rs/libzmq/0.1.18")]

//! *libzmq* - A strict subset of ØMQ with a high level API.

pub use failure;

#[macro_use]
mod core;
pub mod auth;
mod ctx;
mod endpoint;
mod error;
mod group;
mod msg;
mod old;
pub mod poll;
mod socket;
mod utils;

pub use crate::core::{Heartbeat, Period, Quantity};
pub use ctx::{Ctx, CtxBuilder};
pub use endpoint::{
    EpgmAddr, InprocAddr, PgmAddr, TcpAddr, UdpAddr, INPROC_MAX_SIZE,
};
pub use error::{Error, ErrorKind};
pub use group::*;
pub use msg::*;
pub use socket::{
    Client, ClientBuilder, Dish, DishBuilder, Gather, GatherBuilder, Radio,
    RadioBuilder, Scatter, ScatterBuilder, Server, ServerBuilder, SocketType,
};
pub use utils::*;

/// Configurations for *libzmq* types.
pub mod config {
    pub use crate::auth::client::AuthConfig;
    pub use crate::ctx::CtxConfig;
    pub use crate::socket::{
        ClientConfig, ConfigType, DishConfig, GatherConfig, RadioConfig,
        ScatterConfig, ServerConfig,
    };
}

/// Address related types.
pub mod addr {
    pub use crate::endpoint::{
        AddrParseError, Endpoint, Hostname, Interface, IntoIpAddrs, Port,
        SocketAddr, SrcAddr,
    };
}

/// A "prelude" for users of the *libzmq* crate.
///
/// This prelude is similar to the standard library's prelude in that you'll
/// almost always want to import its entire contents, but unlike the standard
/// library's prelude you'll have to do so manually:
///
/// ```
/// use libzmq::prelude::*;
/// ```
///
/// The prelude may grow over time as additional items see ubiquitous use.
pub mod prelude {
    // These should be in the standard prelude anyway.
    pub use crate::core::{
        BuildRecv, BuildSend, BuildSocket, ConfigureRecv, ConfigureSend,
        ConfigureSocket, RecvMsg, SendMsg, Socket,
    };
    pub use std::convert::{TryFrom, TryInto};
}

#[cfg(test)]
mod test {
    #[test]
    fn test_readme_deps() {
        version_sync::assert_markdown_deps_updated!("../README.md");
    }

    #[test]
    fn test_html_root_url() {
        version_sync::assert_html_root_url_updated!("src/lib.rs");
    }
}