pub mod channel;
pub mod client;
pub mod codec;
pub mod discovery;
pub mod error;
pub mod lb_client;
pub mod loadbalancer;
pub mod message;
pub mod pool;
pub mod server;
pub mod streaming;
pub mod transport;
pub use transport::arc::{ArcFrameTransport, ZeroCopyTransport};
pub use transport::channel::{ChannelConfig, ChannelFrameTransport};
pub use transport::shared_memory::{RetryPolicy, SharedMemoryConfig, SharedMemoryFrameTransport};
pub use transport::tcp::{TcpConfig, TcpFrameTransport, TcpFrameTransportListener};
pub use transport::{FrameTransport, TransportStats, spawn_weak_loop};
#[cfg(unix)]
pub use transport::unix::{UnixConfig, UnixFrameTransport, UnixFrameTransportListener};
pub use channel::message::{MessageChannel, MessageChannelAdapter};
pub use channel::serde::SerdeChannel;
pub use channel::typed::TypedChannel;
pub use client::{RpcClient, RpcClientHandle};
pub use pool::{ConnectionPool, PoolConfig, PoolGuard};
pub use server::{
FnHandler, FnStreamHandler, Handler, RpcServer, ServerHandle, ServerStreamSender,
StreamHandler, TypedHandler, TypedStreamHandler,
};
pub use streaming::{StreamId, StreamManager, StreamReceiver, StreamSender, next_stream_id};
pub use discovery::{DiscoveryEvent, DnsDiscovery, Endpoint, ServiceDiscovery, StaticDiscovery};
pub use lb_client::{ClientFactory, LoadBalancedClient};
pub use loadbalancer::{
LeastConnections, LoadBalanceStrategy, LoadBalancer, LoadBalancerConfig, LoadBalancerHandle,
Random, RoundRobin, ScoreBased, ServerHealth, ServerState, ServerWeight, WeightedRoundRobin,
};
#[cfg(feature = "codec-cbor")]
pub use codec::CborCodec;
#[cfg(feature = "codec-messagepack")]
pub use codec::MessagePackCodec;
#[cfg(feature = "codec-postcard")]
pub use codec::PostcardCodec;
pub use codec::{BincodeCodec, Codec, JsonCodec};
pub use error::{Result, RpcError, TransportError, TransportResult};
pub use message::Message;
pub use message::types::{MessageId, MessageType};
#[deprecated(since = "0.2.0", note = "Use ArcFrameTransport instead")]
pub type ArcTransport = ArcFrameTransport;
#[deprecated(since = "0.2.0", note = "Use ChannelFrameTransport instead")]
pub type ChannelTransport = ChannelFrameTransport;
#[deprecated(since = "0.2.0", note = "Use SharedMemoryFrameTransport instead")]
pub type SharedMemoryTransport = SharedMemoryFrameTransport;
#[deprecated(since = "0.2.0", note = "Use TcpFrameTransport instead")]
pub type TcpTransport = TcpFrameTransport;
#[deprecated(since = "0.2.0", note = "Use TcpFrameTransportListener instead")]
pub type TcpTransportListener = TcpFrameTransportListener;
#[cfg(unix)]
#[deprecated(since = "0.2.0", note = "Use UnixFrameTransport instead")]
pub type UnixSocketTransport = UnixFrameTransport;
#[cfg(unix)]
#[deprecated(since = "0.2.0", note = "Use UnixFrameTransportListener instead")]
pub type UnixSocketListener = UnixFrameTransportListener;
#[deprecated(since = "0.2.0", note = "Use MessageChannelAdapter instead")]
pub type MessageTransportAdapter<F, C = BincodeCodec> = MessageChannelAdapter<F, C>;
#[deprecated(since = "0.2.0", note = "Use SerdeChannel instead")]
pub type RawTransport<F> = SerdeChannel<F, BincodeCodec>;