pub struct NotificationRelayDeps {
pub notification_service: Arc<NotificationService>,
pub session_event_senders: Arc<RwLock<HashMap<String, Sender<AgentEvent>>>>,
pub session_watchers: Arc<SessionWatchers>,
pub config: Arc<RwLock<Config>>,
}Expand description
Dependencies the always-on notification relay needs, independent of a
full AppState.
Two call sites start this relay: super::AppState::ensure_notification_relay
(interactive/resume execution, and SSE/WS client subscribe) and the
schedule manager (schedule_app::manager, headless/scheduled runs — which
hold their own trimmed ScheduleContext rather than a full AppState,
since scheduled runs use a minimal tool/session surface). Bundling the
four Arc/cheap-clone fields the relay task actually touches lets both
callers share one implementation instead of two copies drifting apart.
Fields§
§notification_service: Arc<NotificationService>§session_event_senders: Arc<RwLock<HashMap<String, Sender<AgentEvent>>>>§session_watchers: Arc<SessionWatchers>§config: Arc<RwLock<Config>>Trait Implementations§
Source§impl Clone for NotificationRelayDeps
impl Clone for NotificationRelayDeps
Source§fn clone(&self) -> NotificationRelayDeps
fn clone(&self) -> NotificationRelayDeps
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for NotificationRelayDeps
impl !UnwindSafe for NotificationRelayDeps
impl Freeze for NotificationRelayDeps
impl Send for NotificationRelayDeps
impl Sync for NotificationRelayDeps
impl Unpin for NotificationRelayDeps
impl UnsafeUnpin for NotificationRelayDeps
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more