/* * SPDX-FileCopyrightText: 2020 Stalwart Labs LLC * * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL * * Modified by Coffey Labs in 2026 for INBUXA. */ // inbuxa: composite stores (sharded members, read replicas) nest store // futures deeply enough to pass rustc's default query depth #![recursion_limit = "512"] #![warn(clippy::large_futures)] #[allow(unused_imports)] use std::sync::Arc; pub mod backend; pub mod bootstrap; pub mod dispatch; #[derive(Clone, Default)] pub enum Coordinator { #[cfg(feature = "redis")] Redis(Arc), #[cfg(feature = "nats")] Nats(Arc), #[cfg(feature = "zenoh")] Zenoh(Arc), #[cfg(feature = "kafka")] Kafka(Arc), #[default] None, } pub enum PubSubStream { #[cfg(feature = "redis")] Redis(crate::backend::redis::pubsub::RedisPubSubStream), #[cfg(feature = "redis")] RedisCluster(crate::backend::redis::pubsub::RedisClusterPubSubStream), #[cfg(feature = "nats")] Nats(crate::backend::nats::pubsub::NatsPubSubStream), #[cfg(feature = "zenoh")] Zenoh(crate::backend::zenoh::pubsub::ZenohPubSubStream), #[cfg(feature = "kafka")] Kafka(crate::backend::kafka::pubsub::KafkaPubSubStream), Unimplemented, } pub enum Msg { #[cfg(feature = "redis")] Redis(redis::Msg), #[cfg(feature = "nats")] Nats(async_nats::Message), #[cfg(feature = "zenoh")] Zenoh(Vec), #[cfg(feature = "kafka")] Kafka(Vec), Unimplemented, }