Skip to main content

pyra_streams/
lib.rs

1// Prevent panics
2#![deny(clippy::unwrap_used)]
3#![deny(clippy::expect_used)]
4#![deny(clippy::unwrap_in_result)]
5#![deny(clippy::panic)]
6// Prevent ignoring results
7#![deny(unused_must_use)]
8#![deny(let_underscore_drop)]
9// Best practices
10#![deny(clippy::arithmetic_side_effects)]
11
12#![doc = "Redis Stream consumer infrastructure for Pyra services."]
13#![doc = ""]
14#![doc = "Provides a generic `StreamConsumer<H>` that handles XREADGROUP, XACK, XCLAIM,"]
15#![doc = "dead-lettering, and graceful shutdown. Services implement the `StreamHandler`"]
16#![doc = "trait with their domain-specific processing logic."]
17
18mod config;
19mod consumer;
20mod dedup;
21mod error;
22mod handler;
23mod parse;
24
25pub use config::StreamConfig;
26pub use consumer::StreamConsumer;
27pub use dedup::{release_dedup_lock, try_acquire_dedup_lock};
28pub use error::{StreamError, StreamResult};
29pub use handler::StreamHandler;
30pub use parse::{
31    as_array, as_integer, bulk_str, extract_data_field, parse_claimed_messages,
32    parse_pending_entries, parse_stream_response,
33};