#![forbid(unsafe_op_in_unsafe_fn)]
#![warn(missing_docs)]
mod address;
mod cache;
mod client;
mod dht;
mod error;
mod identity;
pub mod log;
mod logserver;
mod message;
#[cfg(feature = "runtime")]
mod poll;
mod raw;
#[cfg(feature = "runtime")]
mod runtime;
mod server;
pub mod shamir;
#[cfg(feature = "trust")]
pub mod trust;
mod uri;
mod wire;
pub use address::Address;
pub use cache::{Cache, CacheStats};
pub use client::{
Client, ClientBuilder, ClientMetrics, Connecting, RequestBuilder, RequestHandle, RequestId,
Response, Stream,
};
pub use dht::{Bootstrap, Dht, DhtBuilder, DhtMetrics, Record};
pub use error::{Error, Result};
pub use identity::{Identity, NodeId};
pub use log::Log;
pub use logserver::{DispatchOutcome, LogServer};
pub use message::Headers;
pub use raw::RawSocket;
pub use server::{
cid_shard_id, reuse_port_supported, ByteRange, CapturingResponder, Compression,
DeferredResponder, Metrics, RangeOutcome, Reply, Request, Responder, Server, ServerBuilder,
};
pub use uri::Uri;
pub use wire::{Method, Status};
#[cfg(feature = "runtime")]
pub use runtime::{AsyncClient, AsyncRequestBuilder, AsyncStream, RunningServer};
pub fn version() -> &'static str {
let ptr = unsafe { nwep_sys::nwep_version() };
unsafe { core::ffi::CStr::from_ptr(ptr) }
.to_str()
.unwrap_or("unknown")
}
pub mod prelude {
pub use crate::{
Address, Bootstrap, Client, Dht, Error, Identity, Method, NodeId, Record, Reply, Request,
Responder, Response, Result, Server, Status, Uri,
};
#[cfg(feature = "runtime")]
pub use crate::{AsyncClient, RunningServer};
}