Trait SideEffectPrefillSource
pub trait SideEffectPrefillSource: Send + Sync {
// Required methods
fn update_interest<'life0, 'async_trait>(
&'life0 self,
interest: SideEffectInterest,
) -> Pin<Box<dyn Future<Output = Result<InterestAck, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn fetch_prefill_for_lyquid<'life0, 'async_trait>(
&'life0 self,
lyquid: LyquidID,
from_exclusive: Option<CallOrderKey>,
until_exclusive: ChainPos,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<PrefillFetchBatch, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn resolve_call_output<'life0, 'async_trait>(
&'life0 self,
key: InterCallOutputKey,
) -> Pin<Box<dyn Future<Output = Result<Option<CallEventOutput>, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
// Provided methods
fn fetch_inbound_for_lyquid<'life0, 'async_trait>(
&'life0 self,
_lyquid: LyquidID,
_from_exclusive: Option<CallOrderKey>,
_until_exclusive: ChainPos,
_limit: usize,
) -> Pin<Box<dyn Future<Output = Result<PrefillInboundBatch, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn record_observed_inbound_inter_call<'life0, 'async_trait>(
&'life0 self,
_call: InboundInterCall,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
}Required Methods§
fn update_interest<'life0, 'async_trait>(
&'life0 self,
interest: SideEffectInterest,
) -> Pin<Box<dyn Future<Output = Result<InterestAck, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fetch_prefill_for_lyquid<'life0, 'async_trait>(
&'life0 self,
lyquid: LyquidID,
from_exclusive: Option<CallOrderKey>,
until_exclusive: ChainPos,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<PrefillFetchBatch, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn resolve_call_output<'life0, 'async_trait>(
&'life0 self,
key: InterCallOutputKey,
) -> Pin<Box<dyn Future<Output = Result<Option<CallEventOutput>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Provided Methods§
fn fetch_inbound_for_lyquid<'life0, 'async_trait>(
&'life0 self,
_lyquid: LyquidID,
_from_exclusive: Option<CallOrderKey>,
_until_exclusive: ChainPos,
_limit: usize,
) -> Pin<Box<dyn Future<Output = Result<PrefillInboundBatch, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn record_observed_inbound_inter_call<'life0, 'async_trait>(
&'life0 self,
_call: InboundInterCall,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn record_observed_inbound_inter_call<'life0, 'async_trait>(
&'life0 self,
_call: InboundInterCall,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Record one local inbound inter-call observed during execution.
Implementations can persist this metadata for later inbound backfill.