systemprompt_models/execution/
shared_context.rs1use super::context::RequestContext;
2use std::sync::{Arc, Mutex};
3
4pub type SharedRequestContext = Arc<Mutex<RequestContext>>;
5
6impl From<RequestContext> for SharedRequestContext {
7 fn from(context: RequestContext) -> Self {
8 Self::new(Mutex::new(context))
9 }
10}
11
12impl From<Arc<Mutex<Self>>> for RequestContext {
13 fn from(shared: Arc<Mutex<Self>>) -> Self {
14 let guard = shared
15 .lock()
16 .unwrap_or_else(std::sync::PoisonError::into_inner);
17 guard.clone()
18 }
19}