pub struct SessionCheckpoint<S: WorkflowState = State>where
S::Checkpoint: Debug,{
pub state: S::Checkpoint,
pub frames: FrameStack<S>,
pub graph_hash: u64,
}Expand description
会话检查点 — 完整恢复快照。
包含:
- 状态投影(P0-1:
S::Checkpoint) - FrameStack(执行位置历史)
- graph_hash(P0-2: canonical hash)
可序列化 — 用于持久化到文件/数据库。
§与 Checkpoint 的区别
Checkpoint<S>— 单个 Graph 的检查点(current_node + state)SessionCheckpoint<S>— 完整会话的检查点(state + frames + graph_hash)
Fields§
§state: S::Checkpoint物化状态快照(P0-1: 使用 Checkpoint 关联类型)
frames: FrameStack<S>执行帧栈(完整执行位置历史)
graph_hash: u64图结构指纹(P0-2: canonical hash)
Trait Implementations§
Source§impl<S: Clone + WorkflowState> Clone for SessionCheckpoint<S>
impl<S: Clone + WorkflowState> Clone for SessionCheckpoint<S>
Source§fn clone(&self) -> SessionCheckpoint<S>
fn clone(&self) -> SessionCheckpoint<S>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<S: Debug + WorkflowState> Debug for SessionCheckpoint<S>
impl<S: Debug + WorkflowState> Debug for SessionCheckpoint<S>
Source§impl<'de, S> Deserialize<'de> for SessionCheckpoint<S>
impl<'de, S> Deserialize<'de> for SessionCheckpoint<S>
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
Source§impl<S> Serialize for SessionCheckpoint<S>
impl<S> Serialize for SessionCheckpoint<S>
Auto Trait Implementations§
impl<S> Freeze for SessionCheckpoint<S>
impl<S> RefUnwindSafe for SessionCheckpoint<S>
impl<S> Send for SessionCheckpoint<S>
impl<S> Sync for SessionCheckpoint<S>
impl<S> Unpin for SessionCheckpoint<S>
impl<S> UnsafeUnpin for SessionCheckpoint<S>
impl<S> UnwindSafe for SessionCheckpoint<S>
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