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

Method publish_registry_layer_progress

crates/openshell-driver-vm/src/driver.rs:3564–3596  ·  view source on GitHub ↗
(
        &self,
        sandbox_id: &str,
        image_ref: &str,
        layer: &OciDescriptor,
        index: usize,
        total_layers: usize,
        total_bytes: i64,
    )

Source from the content-addressed store, hash-verified

3562 }
3563
3564 fn publish_registry_layer_progress(
3565 &self,
3566 sandbox_id: &str,
3567 image_ref: &str,
3568 layer: &OciDescriptor,
3569 index: usize,
3570 total_layers: usize,
3571 total_bytes: i64,
3572 ) {
3573 let mut metadata = HashMap::new();
3574 metadata.insert("layer_index".to_string(), (index + 1).to_string());
3575 metadata.insert("layer_total".to_string(), total_layers.to_string());
3576 metadata.insert("layer_digest".to_string(), layer.digest.clone());
3577 metadata.insert("layer_size_bytes".to_string(), layer.size.to_string());
3578 metadata.insert("image_ref".to_string(), image_ref.to_string());
3579 if total_bytes > 0 {
3580 metadata.insert("image_size_bytes".to_string(), total_bytes.to_string());
3581 }
3582 let mut event = platform_event(
3583 "vm",
3584 "Normal",
3585 "PullingLayer",
3586 format!(
3587 "Pulling layer {}/{} ({} bytes) for image \"{image_ref}\"",
3588 index + 1,
3589 total_layers,
3590 layer.size
3591 ),
3592 );
3593 event.metadata = metadata;
3594 attach_vm_progress_metadata(&mut event);
3595 self.publish_platform_event(sandbox_id.to_string(), event);
3596 }
3597
3598 /// Emit a `Pulled` platform event with progress metadata for the CLI.
3599 async fn publish_pulled_event(&self, sandbox_id: &str, image_ref: &str, image_path: &Path) {

Calls 3

platform_eventFunction · 0.70

Tested by

no test coverage detected