Skip to main content

ruststream_fred/
lib.rs

1#![doc = include_str!("README.md")]
2#![forbid(unsafe_code)]
3
4#[cfg(feature = "asyncapi")]
5mod asyncapi;
6mod broker;
7mod claim;
8mod connection;
9mod convert;
10mod delay;
11mod envelope;
12mod error;
13#[cfg(feature = "testing")]
14mod in_process;
15mod loopback;
16mod message;
17mod partition;
18mod publisher;
19mod recovery;
20mod route;
21mod seek;
22mod settings;
23mod subscriber;
24
25// These modules carry their own `//!` summaries. A second doc fragment here would be written in
26// the crate root's scope, and rustdoc would then resolve the module's intra-doc links there too.
27pub mod context;
28pub mod prelude;
29
30// The three transport forms. Each is public for its own `prelude` and its `Publish` alias, so a
31// mount site names the policy by the same word whichever form it is on; the types they hold stay
32// re-exported at the crate root as well, for a file that mixes forms.
33pub mod list;
34pub mod pipeline;
35pub mod pubsub;
36pub mod stream;
37
38pub use broker::{ClosedRedisBroker, ConnectedRedisBroker, RedisBroker};
39pub use delay::DelayedRetry;
40pub use error::RedisError;
41pub use list::{
42    RedisList, RedisListMessage, RedisListPublish, RedisListPublisher, RedisListSubscriber,
43};
44pub use message::{DELIVERY_COUNT_HEADER, IDLE_MS_HEADER, PARTITION_KEY_HEADER, RedisMessage};
45pub use partition::{RedisPublishOptions, RedisPublishSteps};
46pub use pipeline::{
47    RedisListAtomic, RedisListPipeline, RedisPubSubAtomic, RedisPubSubPatternAtomic,
48    RedisPubSubPatternPipeline, RedisPubSubPipeline, RedisStreamAtomic, RedisStreamPipeline,
49};
50pub use publisher::{
51    RedisDefaultPublish, RedisDefaultPublisher, RedisPublish, RedisPublisher, RedisTransaction,
52};
53pub use pubsub::{
54    PubSubMode, RedisPubSub, RedisPubSubMessage, RedisPubSubPattern, RedisPubSubPublish,
55    RedisPubSubPublisher, RedisPubSubSubscriber,
56};
57pub use seek::{EntryId, RedisGroupPosition, RedisGroupSeeker};
58pub use settings::RedisSubscribeExt;
59pub use stream::{RedisStream, StreamStart};
60pub use subscriber::RedisSubscriber;
61
62// fred auth/TLS types re-exported for the `RedisBroker::tls` / `::credential_provider` builders, so
63// callers need not depend on `fred` directly to name them.
64#[cfg(feature = "credential-provider")]
65pub use fred::types::config::CredentialProvider;
66#[cfg(any(
67    feature = "tls-rustls",
68    feature = "tls-rustls-ring",
69    feature = "tls-native-tls"
70))]
71pub use fred::types::config::{TlsConfig, TlsConnector};