pub struct QuarantinedClosures<'a> {
pub(super) conn: &'a Mutex<Connection>,
}Fields§
§conn: &'a Mutex<Connection>Implementations§
Source§impl<'a> QuarantinedClosures<'a>
impl<'a> QuarantinedClosures<'a>
Sourcepub fn insert(
&self,
channel: &str,
closure_hash: &str,
quarantined_at: DateTime<Utc>,
triggering_event_log_seq: Option<i64>,
) -> Result<()>
pub fn insert( &self, channel: &str, closure_hash: &str, quarantined_at: DateTime<Utc>, triggering_event_log_seq: Option<i64>, ) -> Result<()>
Idempotent under (channel, closure_hash) PK (ON CONFLICT DO
NOTHING — quarantines are append-only; re-quarantining the same
closure is a no-op rather than a re-stamp).
Sourcepub fn active_by_channel(&self) -> Result<HashMap<String, HashSet<String>>>
pub fn active_by_channel(&self) -> Result<HashMap<String, HashSet<String>>>
Active set keyed by channel -> {closure_hash}. The gate reads this
on every plan tick via Observed.quarantined_closures to refuse
dispatch of a known-bad SHA.
Sourcepub fn list_active(&self) -> Result<Vec<QuarantineRow>>
pub fn list_active(&self) -> Result<Vec<QuarantineRow>>
Operator-surface listing (CLI nixfleet quarantine list).
Auto Trait Implementations§
impl<'a> Freeze for QuarantinedClosures<'a>
impl<'a> RefUnwindSafe for QuarantinedClosures<'a>
impl<'a> Send for QuarantinedClosures<'a>
impl<'a> Sync for QuarantinedClosures<'a>
impl<'a> Unpin for QuarantinedClosures<'a>
impl<'a> UnwindSafe for QuarantinedClosures<'a>
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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