Struct SideEffectPrefillActor
pub struct SideEffectPrefillActor { /* private fields */ }Expand description
Prefill algorithm in high-level,
- Accept current interest/filter and target
(lyquid, until)frontiers. - Pump remote source by cursor windows and ingest side effects + inbound calls together.
- Deduplicate by order key and payload hash, then persist accepted side effects.
- Advance per-lyquid cursors when data is consumed or source marks
exhausted. - Serve two read paths: call-output resolve and inbound-call drain for FCO advance.
Implementations§
§impl SideEffectPrefillActor
impl SideEffectPrefillActor
pub fn new( source: Arc<dyn SideEffectPrefillSource>, side_effect_store: Arc<SideEffectStore>, config: PrefillActorConfig, ) -> Self
Trait Implementations§
§impl Actor for SideEffectPrefillActor
impl Actor for SideEffectPrefillActor
§type Context = Context<SideEffectPrefillActor>
type Context = Context<SideEffectPrefillActor>
Actor execution context type
§fn stopping(&mut self, ctx: &mut Self::Context) -> Running
fn stopping(&mut self, ctx: &mut Self::Context) -> Running
Called after an actor is in
Actor::Stopping state. Read more§fn start(self) -> Addr<Self>where
Self: Actor<Context = Context<Self>>,
fn start(self) -> Addr<Self>where
Self: Actor<Context = Context<Self>>,
Start a new asynchronous actor, returning its address. Read more
§fn start_in_arbiter<F>(wrk: &ArbiterHandle, f: F) -> Addr<Self>
fn start_in_arbiter<F>(wrk: &ArbiterHandle, f: F) -> Addr<Self>
Start new actor in arbiter’s thread.
§impl Handler<GetPrefillStats> for SideEffectPrefillActor
impl Handler<GetPrefillStats> for SideEffectPrefillActor
§type Result = MessageResult<GetPrefillStats>
type Result = MessageResult<GetPrefillStats>
The type of value that this handler will return. Read more
§fn handle(
&mut self,
_msg: GetPrefillStats,
_ctx: &mut Context<Self>,
) -> Self::Result
fn handle( &mut self, _msg: GetPrefillStats, _ctx: &mut Context<Self>, ) -> Self::Result
This method is called for every message received by this actor.
§impl Handler<ObservePrefilledInboundCall> for SideEffectPrefillActor
impl Handler<ObservePrefilledInboundCall> for SideEffectPrefillActor
§type Result = Pin<Box<dyn ActorFuture<SideEffectPrefillActor, Output = Result<(), Error>>>>
type Result = Pin<Box<dyn ActorFuture<SideEffectPrefillActor, Output = Result<(), Error>>>>
The type of value that this handler will return. Read more
§fn handle(
&mut self,
msg: ObservePrefilledInboundCall,
_ctx: &mut Context<Self>,
) -> Self::Result
fn handle( &mut self, msg: ObservePrefilledInboundCall, _ctx: &mut Context<Self>, ) -> Self::Result
This method is called for every message received by this actor.
§impl Handler<ResolvePrefilledCallOutput> for SideEffectPrefillActor
impl Handler<ResolvePrefilledCallOutput> for SideEffectPrefillActor
§type Result = Pin<Box<dyn ActorFuture<SideEffectPrefillActor, Output = Result<Option<Option<Vec<u8>>>, Error>>>>
type Result = Pin<Box<dyn ActorFuture<SideEffectPrefillActor, Output = Result<Option<Option<Vec<u8>>>, Error>>>>
The type of value that this handler will return. Read more
§fn handle(
&mut self,
msg: ResolvePrefilledCallOutput,
ctx: &mut Context<Self>,
) -> Self::Result
fn handle( &mut self, msg: ResolvePrefilledCallOutput, ctx: &mut Context<Self>, ) -> Self::Result
This method is called for every message received by this actor.
§impl Handler<SetPrefillTargets> for SideEffectPrefillActor
impl Handler<SetPrefillTargets> for SideEffectPrefillActor
§impl Handler<SyncPrefilledInboundUntil> for SideEffectPrefillActor
impl Handler<SyncPrefilledInboundUntil> for SideEffectPrefillActor
§type Result = MessageResult<SyncPrefilledInboundUntil>
type Result = MessageResult<SyncPrefilledInboundUntil>
The type of value that this handler will return. Read more
§fn handle(
&mut self,
msg: SyncPrefilledInboundUntil,
ctx: &mut Context<Self>,
) -> Self::Result
fn handle( &mut self, msg: SyncPrefilledInboundUntil, ctx: &mut Context<Self>, ) -> Self::Result
This method is called for every message received by this actor.
§impl Handler<UpdatePrefillInterest> for SideEffectPrefillActor
impl Handler<UpdatePrefillInterest> for SideEffectPrefillActor
§type Result = Pin<Box<dyn ActorFuture<SideEffectPrefillActor, Output = Result<(), Error>>>>
type Result = Pin<Box<dyn ActorFuture<SideEffectPrefillActor, Output = Result<(), Error>>>>
The type of value that this handler will return. Read more
§fn handle(
&mut self,
msg: UpdatePrefillInterest,
_ctx: &mut Context<Self>,
) -> Self::Result
fn handle( &mut self, msg: UpdatePrefillInterest, _ctx: &mut Context<Self>, ) -> Self::Result
This method is called for every message received by this actor.
Auto Trait Implementations§
impl Freeze for SideEffectPrefillActor
impl !RefUnwindSafe for SideEffectPrefillActor
impl Send for SideEffectPrefillActor
impl Sync for SideEffectPrefillActor
impl Unpin for SideEffectPrefillActor
impl !UnwindSafe for SideEffectPrefillActor
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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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