Skip to main content

cherenkov/model/index/
events.rs

1//! Observations from one model operation, independent of terminal rendering.
2
3use serde::Serialize;
4
5/// Progress during remote model inspection. Values are owned so observers can
6/// forward events to a channel. The operation's `Result` signals completion;
7/// these events do not establish success or describe durable index state.
8#[derive(Debug, Clone, PartialEq, Eq, Serialize)]
9#[serde(tag = "event", rename_all = "snake_case")]
10#[non_exhaustive]
11pub enum ModelEvent {
12    /// Emitted before the first remote metadata request.
13    Resolving { source: String },
14    /// Header counts start at zero and advance after each successful shard read.
15    /// `file` identifies the latest completed shard and is absent initially.
16    Headers {
17        completed: usize,
18        total: usize,
19        file: Option<String>,
20    },
21    /// Headers are complete; architecture metadata may require small range reads.
22    ReadingMetadata,
23}