pub struct IdleTask {
pub id: Uuid,
pub phase: IdlePhase,
pub reason: String,
pub turns: Vec<IdleTurn>,
pub touched_files: Vec<PathBuf>,
pub start_time: SystemTime,
pub end_time: Option<SystemTime>,
pub memory_update: Option<MemoryUpdate>,
pub error: Option<String>,
/* private fields */
}Expand description
Idle task state
Fields§
§id: UuidUnique task ID
phase: IdlePhaseCurrent phase
reason: StringReason for idle
turns: Vec<IdleTurn>Idle execution turns
touched_files: Vec<PathBuf>All files touched during idle
start_time: SystemTimeWhen idle started
end_time: Option<SystemTime>When idle ended
memory_update: Option<MemoryUpdate>Memory update produced (set on completion)
error: Option<String>Error message if failed
Implementations§
Source§impl IdleTask
impl IdleTask
Sourcepub fn transition(&mut self, new_phase: IdlePhase)
pub fn transition(&mut self, new_phase: IdlePhase)
Transition to a new phase
Sourcepub fn start_consolidation(&mut self)
pub fn start_consolidation(&mut self)
Start consolidation phase
Sourcepub fn start_update(&mut self)
pub fn start_update(&mut self)
Start update phase
Sourcepub fn complete(self) -> MemoryUpdate
pub fn complete(self) -> MemoryUpdate
Complete the idle and produce memory update
Returns the memory update that should be applied to memory stores.
Sourcepub fn is_completed(&self) -> bool
pub fn is_completed(&self) -> bool
Check if idle is completed
Sourcepub fn recent_turns(&self, count: usize) -> &[IdleTurn]
pub fn recent_turns(&self, count: usize) -> &[IdleTurn]
Get recent turns (for UI display)
Sourcepub fn duration_ms(&self) -> Option<u64>
pub fn duration_ms(&self) -> Option<u64>
Get duration in milliseconds
Trait Implementations§
Source§impl<'de> Deserialize<'de> for IdleTask
impl<'de> Deserialize<'de> for IdleTask
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for IdleTask
impl RefUnwindSafe for IdleTask
impl Send for IdleTask
impl Sync for IdleTask
impl Unpin for IdleTask
impl UnsafeUnpin for IdleTask
impl UnwindSafe for IdleTask
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more