#[cfg(feature = "runtime")]
mod highlevel;
#[cfg(feature = "runtime")]
pub use highlevel::*;
mod client_logging;
mod observer;
pub mod schema_deser;
mod server_logging;
pub use client_logging::{ClientLogging, ClientLoggingOptions};
pub use observer::TracingObserver;
pub use server_logging::{ServerLogging, ServerLoggingOptions};
pub use vox_service_macros::service;
pub use facet;
pub use facet_reflect;
pub use facet_reflect::Peek;
pub mod hash {
pub use vox_types::{
MethodDescriptorOptions, method_descriptor, method_id_name_only, shape_contains_channel,
};
}
pub use vox_types::{
Backing,
BoxMiddlewareFuture,
Call,
ChannelCloseReason,
ChannelDebugContext,
ChannelDebugSnapshot,
ChannelEvent,
ChannelEventContext,
ChannelId,
ChannelReceiverState,
ChannelResetReason,
ChannelSendOutcome,
ChannelTrySendOutcome,
ClientCallOutcome,
ClientContext,
ClientMiddleware,
ClientRequest,
Conduit,
ConduitAcceptor,
ConduitRx,
ConduitTx,
ConnectionCloseReason,
ConnectionRole,
ConnectionSettings,
Decline,
DecodeErrorKind,
DriverEvent,
DriverTaskStatus,
EncodeErrorKind,
EstablishmentContext,
EstablishmentEvent,
EstablishmentOutcome,
EstablishmentPhase,
EstablishmentRejectReason,
Extensions,
Handler,
HandshakeResult,
IdentityBasis,
IdentityBasisProvenance,
IdentityEpoch,
IdentityResolutionContext,
LaneDebugSnapshot,
LaneDebugState,
LaneGrant,
LaneId,
Link,
LinkRx,
LinkTx,
MaybeSend,
MaybeSync,
MessageFamily,
Metadata,
MetadataBuilder,
MetadataExt,
MethodDescriptor,
MethodId,
MsgFamily,
ObserverMetricKind,
ObserverMetricLabels,
Parity,
Payload,
PeerEvidence,
PeerEvidenceItem,
PeerIdentity,
PeerIdentityForm,
ProtocolErrorKind,
ReplySink,
RequestAuthorizationContext,
RequestCall,
RequestContext,
RequestDebugSnapshot,
RequestDebugState,
RequestResponse,
ResponseParts,
RpcEvent,
RpcOutcome,
RpcSide,
Rx,
RxError,
SchemaRecvTracker,
SelfRef,
ServerCallOutcome,
ServerMiddleware,
ServerRequest,
ServerResponse,
ServerResponseContext,
ServerResponsePayload,
ServiceDescriptor,
SinkCall,
SourceLocation,
TransportEvent,
TrySendError,
Tx,
TxError,
VoxDebugSnapshot,
VoxError,
VoxObserver,
VoxObserverHandle,
WithTracker,
channel,
metadata_get_str,
metadata_get_u64,
metadata_key_is_no_propagate,
metadata_key_is_redacted,
observe_reply,
};
#[cfg(unix)]
pub use vox_types::{Fd, FdAdapter, SCM_MAX_FD};
pub use vox_types::{FrameFds, collect_fds, frame_fds_len, provide_fds};
pub use vox_types::{meta_set, metadata};
#[cfg(feature = "runtime")]
pub use vox_core::{
acceptor_conduit, acceptor_on, acceptor_transport, initiator, initiator_conduit, initiator_on,
initiator_transport,
};
#[cfg(feature = "runtime")]
pub use vox_core::{acceptor_on_link, initiator_on_link};
#[cfg(feature = "runtime")]
pub use vox_core::{
AnonymousIdentityResolver, Connection, ConnectionConfig, ConnectionError, ConnectionHandle,
ConnectionKeepaliveConfig, IdentityResolver, IdentityResolverFn, LaneHandle, LaneRejectReason,
LaneRejection, LaneRequest, LaneState, PendingLane, VOX_LANE_REJECT_MESSAGE_METADATA_KEY,
VOX_LANE_REJECT_REASON_METADATA_KEY, identity_resolver_fn,
};
#[cfg(feature = "runtime")]
pub use vox_core::{LaneAcceptor, LaneAcceptorFn, lane_acceptor_fn, proxy_lanes};
#[cfg(feature = "runtime")]
pub use vox_core::{
BoxConnectionFuture, ConnectionAcceptorBuilder, ConnectionInitiatorBuilder,
ConnectionSourceInitiatorBuilder, ConnectionTransportAcceptorBuilder,
ConnectionTransportInitiatorBuilder, VOX_SERVICE_METADATA_KEY,
};
#[cfg(feature = "runtime")]
pub use vox_core::{
Caller, Driver, DriverCaller, DriverChannelSink, DriverReplySink, ErasedHandler, FromVoxLane,
RequestTimeoutPolicy,
};
#[cfg(feature = "runtime")]
pub use vox_core::{BareConduit, BareConduitError, IntoConduit, MessagePlan};
#[cfg(all(feature = "runtime", not(target_arch = "wasm32")))]
pub use vox_core::{
Attachment, LinkSource, SingleAttachmentSource, single_attachment_source, single_link_source,
};
#[cfg(all(feature = "runtime", not(target_arch = "wasm32")))]
pub use vox_core::{MemoryLink, MemoryLinkRx, MemoryLinkRxError, MemoryLinkTx, memory_link_pair};
#[cfg(feature = "runtime")]
pub use vox_core::{HandshakeError, handshake_as_acceptor, handshake_as_initiator};
#[cfg(feature = "runtime")]
pub use vox_core::{accept_transport, initiate_transport};
#[cfg(feature = "runtime")]
pub use vox_core::{DynConduitRx, DynConduitTx};
pub mod transport {
#[cfg(all(feature = "transport-tcp", not(target_arch = "wasm32")))]
pub mod tcp {
pub use vox_stream::{StreamLink, TcpLinkSource, tcp_link_source};
}
#[cfg(all(feature = "transport-local", not(target_arch = "wasm32")))]
pub mod local {
pub use vox_stream::{
LocalLink, LocalLinkAcceptor, LocalLinkSource, LocalListener, LocalServerStream,
LocalStream, connect, endpoint_exists, local_link_source, path_to_pipe_name,
remove_endpoint,
};
#[cfg(unix)]
pub use vox_stream::{FdStreamLink, FdStreamLinkRx, FdStreamLinkTx};
}
#[cfg(feature = "transport-websocket")]
pub mod websocket {
pub use vox_websocket::*;
}
}
pub use vox_types::channel::{
collect_channels, collect_channels_for_method, provide_channels, provide_channels_for_method,
set_channel_binder, with_channel_binder,
};
pub mod connection {
pub use vox_types::{MethodDescriptor, ServiceDescriptor};
}