#![doc = "Redis Stream consumer infrastructure for Pyra services."]
#![doc = ""]
#![doc = "Provides a generic `StreamConsumer<H>` that handles XREADGROUP, XACK, XCLAIM,"]
#![doc = "dead-lettering, and graceful shutdown. Services implement the `StreamHandler`"]
#![doc = "trait with their domain-specific processing logic."]

mod config;
mod consumer;
mod dedup;
mod error;
mod handler;
mod parse;

pub use config::StreamConfig;
pub use consumer::StreamConsumer;
pub use dedup::{release_dedup_lock, try_acquire_dedup_lock};
pub use error::{StreamError, StreamResult};
pub use handler::StreamHandler;
pub use parse::{
    as_array, as_integer, bulk_str, extract_data_field, parse_claimed_messages,
    parse_pending_entries, parse_stream_response,
};
