pub struct WorkItemReader {
pub start_item: Option<WorkItem>,
pub completion_messages: Vec<WorkItem>,
pub orchestration_name: String,
pub input: String,
pub version: Option<String>,
pub parent_instance: Option<String>,
pub parent_id: Option<u64>,
pub is_continue_as_new: bool,
}Expand description
Reader for extracting information from a batch of work items
Separates start/CAN items from completion messages and extracts execution parameters in a single pass.
Fields§
§start_item: Option<WorkItem>The start or continue-as-new item, if present
completion_messages: Vec<WorkItem>All completion messages (ActivityCompleted, TimerFired, etc.)
orchestration_name: StringOrchestration name (from start item or fallback)
input: StringInput string (from start item or empty)
version: Option<String>Version (from start item or None)
parent_instance: Option<String>Parent instance (from start item or None)
parent_id: Option<u64>Parent event ID (from start item or None)
is_continue_as_new: boolWhether this is a ContinueAsNew
Implementations§
Source§impl WorkItemReader
impl WorkItemReader
Sourcepub fn from_messages(
messages: &[WorkItem],
history_mgr: &HistoryManager,
instance: &str,
) -> Self
pub fn from_messages( messages: &[WorkItem], history_mgr: &HistoryManager, instance: &str, ) -> Self
Parse a batch of work items
Separates start/CAN from completions and extracts parameters. Falls back to history_reader if no start item is present.
Sourcepub fn has_start_item(&self) -> bool
pub fn has_start_item(&self) -> bool
Check if this batch has a start or continue-as-new item
Sourcepub fn has_orchestration_name(&self) -> bool
pub fn has_orchestration_name(&self) -> bool
Check if the orchestration name is empty (error condition)