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