MCPcopy Create free account
hub / github.com/NVIDIA/OpenShell / emit_snapshot_diff

Function emit_snapshot_diff

crates/openshell-driver-docker/src/lib.rs:2904–2934  ·  view source on GitHub ↗
(
    events: &broadcast::Sender<WatchSandboxesEvent>,
    previous: &HashMap<String, DriverSandbox>,
    current: &HashMap<String, DriverSandbox>,
)

Source from the content-addressed store, hash-verified

2902}
2903
2904fn emit_snapshot_diff(
2905 events: &broadcast::Sender<WatchSandboxesEvent>,
2906 previous: &HashMap<String, DriverSandbox>,
2907 current: &HashMap<String, DriverSandbox>,
2908) {
2909 for (sandbox_id, sandbox) in current {
2910 if previous.get(sandbox_id) == Some(sandbox) {
2911 continue;
2912 }
2913 let _ = events.send(WatchSandboxesEvent {
2914 payload: Some(watch_sandboxes_event::Payload::Sandbox(
2915 WatchSandboxesSandboxEvent {
2916 sandbox: Some(sandbox.clone()),
2917 },
2918 )),
2919 });
2920 }
2921
2922 for sandbox_id in previous.keys() {
2923 if current.contains_key(sandbox_id) {
2924 continue;
2925 }
2926 let _ = events.send(WatchSandboxesEvent {
2927 payload: Some(watch_sandboxes_event::Payload::Deleted(
2928 WatchSandboxesDeletedEvent {
2929 sandbox_id: sandbox_id.clone(),
2930 },
2931 )),
2932 });
2933 }
2934}
2935
2936fn label_filters(values: impl IntoIterator<Item = String>) -> HashMap<String, Vec<String>> {
2937 HashMap::from([("label".to_string(), values.into_iter().collect())])

Callers 1

poll_loopMethod · 0.85

Calls 3

SandboxClass · 0.85
contains_keyMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected