pub struct GraphRuntime { /* private fields */ }Implementations§
Source§impl GraphRuntime
impl GraphRuntime
pub fn new() -> Self
pub fn with_limits(limits: RuntimeLimits) -> Self
pub fn with_correlation_id(self, correlation_id: impl Into<String>) -> Self
pub fn restore(events: Vec<GraphEventRecord>) -> Result<Self, ReplayError>
pub fn branch_id(&self) -> &str
pub fn graph(&self) -> &StateGraph
pub fn events(&self) -> &[GraphEventRecord]
pub fn register( &mut self, behavior: Arc<dyn Behavior>, ) -> Result<(), RuntimeError>
pub fn emit( &mut self, event: GraphEvent, ) -> Result<GraphEventRecord, RuntimeError>
pub fn run_goal( &mut self, goal: impl Into<String>, ) -> Result<GraphEventRecord, RuntimeError>
pub fn propose_patch( &mut self, patch: GraphPatch, causation_id: Option<String>, ) -> Result<bool, RuntimeError>
pub fn fork_at(&self, sequence_exclusive: u64) -> Result<Self, RuntimeError>
pub fn diff(&self, other: &Self) -> GraphDiff
pub fn strict_replay( records: &[GraphEventRecord], ) -> Result<StateGraph, ReplayError>
Sourcepub fn check_external(
&self,
event: &ExternalEvent,
) -> Result<Option<ExternalProjectionOutcome>, RuntimeError>
pub fn check_external( &self, event: &ExternalEvent, ) -> Result<Option<ExternalProjectionOutcome>, RuntimeError>
Validate sequence and idempotency before constructing a projection.
Sourcepub fn project_external(
&mut self,
event: ExternalEvent,
patch: GraphPatch,
) -> Result<ExternalProjectionOutcome, RuntimeError>
pub fn project_external( &mut self, event: ExternalEvent, patch: GraphPatch, ) -> Result<ExternalProjectionOutcome, RuntimeError>
Atomically append a graph patch and its durable external-stream cursor.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for GraphRuntime
impl !UnwindSafe for GraphRuntime
impl Freeze for GraphRuntime
impl Send for GraphRuntime
impl Sync for GraphRuntime
impl Unpin for GraphRuntime
impl UnsafeUnpin for GraphRuntime
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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