1#![doc = include_str!("../README.md")]
2
3#[cfg(test)]
4mod behavior_tests;
5mod broadcast;
6#[cfg(test)]
7mod broadcast_tests;
8mod constants;
9mod crypto_provider;
10pub mod discover;
11mod endpoint;
12mod error;
13mod fragmentation;
14mod ipc_client;
15mod ipc_client_ext;
16mod ipc_client_trait;
17mod message;
18mod rpc;
19mod serde_utils;
20mod traits;
21
22#[cfg(feature = "wasm")]
24pub mod wasm;
25
26pub use broadcast::{BroadcastGroup, EndpointSendResult};
27#[cfg(any(test, feature = "test-support"))]
28pub use crypto_provider::noise::crypto_provider::{NoiseCryptoProvider, NoiseCryptoProviderState};
29pub use endpoint::{Endpoint, HostId, Source};
30pub use error::{
31 BroadcastError, ErrorKind, IpcErrorKind, ReceiveError, RequestError, SendError, SubscribeError,
32 TypedReceiveError,
33};
34pub use ipc_client::{IpcClientImpl, IpcClientSubscription, IpcClientTypedSubscription};
35pub use ipc_client_ext::IpcClientExt;
36pub use ipc_client_trait::IpcClient;
37pub use message::{
38 IncomingMessage, OutgoingMessage, PayloadTypeName, TypedIncomingMessage, TypedOutgoingMessage,
39};
40#[doc(hidden)]
41pub use rpc::exec::handler::ErasedRpcHandler;
42pub use rpc::{
43 exec::handler::{RpcHandler, RpcRequestInfo},
44 request::RpcRequest,
45};
46#[cfg(any(test, feature = "test-support"))]
47pub use traits::TestCommunicationBackend;
48#[cfg(any(test, feature = "test-support"))]
49pub use traits::{
50 BroadcastResolution, CommunicationBackend, CommunicationBackendReceiver,
51 NoEncryptionCryptoProvider, SessionRepository,
52};
53pub use traits::{InMemorySessionRepository, NoopCommunicationBackend};
54
55#[cfg(any(test, feature = "test-support"))]
57#[allow(missing_docs)]
58pub type TestIpcClient = ipc_client::IpcClientImpl<
59 crate::traits::NoEncryptionCryptoProvider,
60 crate::traits::TestCommunicationBackend,
61 crate::traits::InMemorySessionRepository<()>,
62>;