#![deny(unsafe_code)]
#![warn(
missing_docs,
trivial_casts,
trivial_numeric_casts,
unused_import_braces,
unused_qualifications
)]
#![cfg_attr(not(feature = "std"), no_std)]
#[cfg(feature = "alloc")]
#[macro_use]
extern crate alloc;
#[cfg(feature = "std")]
extern crate core;
#[macro_use]
extern crate tracing;
pub use error::OckamError;
pub use node::*;
#[cfg(feature = "std")]
pub use ockam_abac as abac;
pub use ockam_core::processor;
pub use ockam_core::worker;
pub use ockam_core::{
allow, deny, deserialize, errcode, route, serialize, Address, Any, Decodable, Encodable,
Encoded, Error, LocalMessage, Mailbox, Mailboxes, Message, Processor, ProtocolId, Result,
Route, Routed, TransportMessage, TryClone, Worker,
};
pub use ockam_identity as identity;
pub use ockam_macros::{node, test};
#[cfg(feature = "std")]
pub use ockam_node::database::*;
pub use ockam_node::{
debugger, Context, DelayedEvent, Executor, MessageReceiveOptions, MessageSendReceiveOptions,
NodeBuilder, WorkerBuilder,
};
#[cfg(feature = "ockam_transport_tcp")]
pub mod tcp {
pub use ockam_transport_tcp::{
TcpConnection, TcpConnectionMode, TcpConnectionOptions, TcpInletOptions, TcpListener,
TcpListenerInfo, TcpListenerOptions, TcpOutletOptions, TcpSenderInfo, TcpTransport,
TcpTransportExtension, MAX_MESSAGE_SIZE, TCP,
};
}
#[cfg(feature = "ockam_transport_udp")]
pub mod udp {
pub use ockam_transport_udp::{
RendezvousClient, RendezvousService, UdpBind, UdpBindArguments, UdpBindOptions,
UdpPuncture, UdpPunctureNegotiation, UdpPunctureNegotiationListener,
UdpPunctureNegotiationListenerOptions, UdpTransport, UdpTransportExtension,
MAX_MESSAGE_SIZE, UDP,
};
}
pub use relay_service::{RelayService, RelayServiceOptions};
pub mod transport {
pub use ockam_transport_core::{
parse_socket_addr, HostnamePort, SchemeHostnamePort, StaticHostnamePort, Transport,
};
}
mod error;
mod relay_service;
pub mod remote;
pub mod access_control {
pub use ockam_core::access_control::*;
pub use ockam_identity::secure_channel::access_control::*;
}
pub mod flow_control {
pub use ockam_core::flow_control::*;
}
pub mod compat {
pub use ockam_core::compat::*;
pub use ockam_node::compat::*;
pub use ockam_node::tokio;
}
pub mod workers {
pub use ockam_node::workers::*;
}
#[cfg(feature = "ockam_vault")]
pub mod vault {
pub use ockam_vault::*;
#[cfg(feature = "storage")]
pub mod storage {
pub use ockam_vault::storage::*;
}
}
pub mod node;