use std::sync::Arc;
use tokio::sync::Mutex;
use crate::bridge::{ResourceSubscriptions, Translator};
pub struct HandlerContext {
pub translator: Arc<Mutex<Translator>>,
pub subscriptions: Arc<ResourceSubscriptions>,
}
impl HandlerContext {
#[must_use]
pub const fn new(
translator: Arc<Mutex<Translator>>,
subscriptions: Arc<ResourceSubscriptions>,
) -> Self {
Self {
translator,
subscriptions,
}
}
}
#[cfg(test)]
mod tests {
use super::*;
use crate::bridge::Translator;
#[test]
fn test_handler_context_creation() {
let translator = Arc::new(Mutex::new(Translator::new()));
let subscriptions = Arc::new(ResourceSubscriptions::new());
let context = HandlerContext::new(translator, subscriptions);
assert!(Arc::strong_count(&context.translator) == 1);
}
}