Skip to main content

ruststream_fred/
lib.rs

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