use super::*;
use crate::cov::{AtomicCovCounters, CovInFlightTracker};
pub(super) struct CovNotifyContext<'a, T: TransportPort + 'static> {
pub(super) db: &'a Arc<RwLock<ObjectDatabase>>,
pub(super) network: &'a Arc<NetworkLayer<T>>,
pub(super) cov_table: &'a Arc<RwLock<CovSubscriptionTable>>,
pub(super) cov_in_flight: &'a Arc<Semaphore>,
pub(super) notification_transactions: &'a Arc<NotificationTransactions>,
pub(super) comm_state: &'a Arc<CommState>,
pub(super) config: &'a Arc<ServerConfig>,
}
pub(super) struct CovFanoutHandles<'a, 'b, T: TransportPort + 'static> {
pub(super) ctx: &'a CovNotifyContext<'b, T>,
pub(super) in_flight_tracker: &'a Arc<CovInFlightTracker>,
pub(super) counters: &'a Arc<AtomicCovCounters>,
}