pub struct ReactiveInputBatch<N: Network = Ethereum> { /* private fields */ }Expand description
Batch of reactive input records.
Implementations§
Source§impl<N: Network> ReactiveInputBatch<N>
impl<N: Network> ReactiveInputBatch<N>
Sourcepub fn new(records: Vec<ReactiveInputRecord<N>>) -> Self
pub fn new(records: Vec<ReactiveInputRecord<N>>) -> Self
Create a batch from records.
Sourcepub fn with_chain_id(self, chain_id: u64) -> Self
pub fn with_chain_id(self, chain_id: u64) -> Self
Bind the complete batch, including control-only progress/finality, to a chain. Runtime ingestion rejects a different cache chain.
Sourcepub const fn chain_id(&self) -> Option<u64>
pub const fn chain_id(&self) -> Option<u64>
Authoritative batch chain identity, when supplied or unambiguously derived from its records.
Sourcepub fn with_delivery_token(self, token: SubscriberDeliveryToken) -> Self
pub fn with_delivery_token(self, token: SubscriberDeliveryToken) -> Self
Attach the subscriber-owned token committed after successful ingestion.
Sourcepub fn delivery_token(&self) -> Option<&SubscriberDeliveryToken>
pub fn delivery_token(&self) -> Option<&SubscriberDeliveryToken>
Borrow the subscriber-owned delivery token, when present.
Sourcepub fn with_subscriber_checkpoint(
self,
checkpoint: SubscriberCheckpoint,
) -> Self
pub fn with_subscriber_checkpoint( self, checkpoint: SubscriberCheckpoint, ) -> Self
Attach provider-specific resume state included by this delivery.
Sourcepub fn subscriber_checkpoint(&self) -> Option<&SubscriberCheckpoint>
pub fn subscriber_checkpoint(&self) -> Option<&SubscriberCheckpoint>
Borrow provider-specific resume state, when present.
Sourcepub fn with_payload_commitment(
self,
commitment: SubscriberPayloadCommitment,
) -> Self
pub fn with_payload_commitment( self, commitment: SubscriberPayloadCommitment, ) -> Self
Attach a commitment to the exact canonical wire payload represented by this batch.
Sourcepub const fn payload_commitment(&self) -> Option<&SubscriberPayloadCommitment>
pub const fn payload_commitment(&self) -> Option<&SubscriberPayloadCommitment>
Borrow the subscriber-supplied exact payload commitment, when present.
Sourcepub fn with_audience(self, audience: DeliveryAudience) -> Self
pub fn with_audience(self, audience: DeliveryAudience) -> Self
Restrict runtime routing to exact logical interest owners.
Sourcepub const fn audience(&self) -> &DeliveryAudience
pub const fn audience(&self) -> &DeliveryAudience
Delivery audience captured by the subscriber.
Sourcepub fn from_scoped_records(
records: impl IntoIterator<Item = (ReactiveInputRecord<N>, DeliveryAudience)>,
) -> Self
pub fn from_scoped_records( records: impl IntoIterator<Item = (ReactiveInputRecord<N>, DeliveryAudience)>, ) -> Self
Create a batch whose records retain independent delivery audiences.
Sourcepub fn from_deliveries(
deliveries: impl IntoIterator<Item = ReactiveInputDelivery<N>>,
) -> Self
pub fn from_deliveries( deliveries: impl IntoIterator<Item = ReactiveInputDelivery<N>>, ) -> Self
Create a batch with independent routing and canonical provenance per record.
Sourcepub fn record_audience(&self, index: usize) -> Option<&DeliveryAudience>
pub fn record_audience(&self, index: usize) -> Option<&DeliveryAudience>
Audience for the record at index.
Sourcepub fn with_delivery_scope(self, scope: DeliveryScope) -> Self
pub fn with_delivery_scope(self, scope: DeliveryScope) -> Self
Set how every record in this batch participates in canonical state.
Sourcepub fn record_delivery_scope(&self, index: usize) -> Option<DeliveryScope>
pub fn record_delivery_scope(&self, index: usize) -> Option<DeliveryScope>
Canonical-processing scope for the record at index.
Sourcepub fn with_chain_controls(
self,
controls: impl IntoIterator<Item = ChainControl>,
) -> Self
pub fn with_chain_controls( self, controls: impl IntoIterator<Item = ChainControl>, ) -> Self
Attach ordered chain-lifecycle controls to this delivery.
A control-only batch must also call with_chain_id.
When records are present, their unanimous chain id is derived by the
constructor; a missing or cache-mismatched authoritative batch identity
is rejected before any control mutates runtime state.
Sourcepub fn chain_controls(&self) -> &[ChainControl]
pub fn chain_controls(&self) -> &[ChainControl]
Ordered chain-lifecycle controls in this delivery.
Sourcepub fn records(&self) -> &[ReactiveInputRecord<N>]
pub fn records(&self) -> &[ReactiveInputRecord<N>]
Borrow the records in this batch.
Sourcepub fn into_records(self) -> Vec<ReactiveInputRecord<N>>
pub fn into_records(self) -> Vec<ReactiveInputRecord<N>>
Consume the batch into only its input records.
This is intentionally lossy: it discards the authoritative batch chain
identity, routing audiences, delivery scopes, ordered chain controls,
acknowledgement tokens, and provider checkpoints. Adapters should use
into_parts instead.
Sourcepub fn into_parts(self) -> ReactiveInputBatchParts<N>
pub fn into_parts(self) -> ReactiveInputBatchParts<N>
Consume the batch without losing subscriber or chain-lifecycle metadata.
Trait Implementations§
Auto Trait Implementations§
impl<N> Freeze for ReactiveInputBatch<N>
impl<N> RefUnwindSafe for ReactiveInputBatch<N>where
<N as Network>::HeaderResponse: RefUnwindSafe,
<N as Network>::BlockResponse: RefUnwindSafe,
<N as Network>::TransactionResponse: RefUnwindSafe,
impl<N> Send for ReactiveInputBatch<N>
impl<N> Sync for ReactiveInputBatch<N>
impl<N> Unpin for ReactiveInputBatch<N>
impl<N> UnsafeUnpin for ReactiveInputBatch<N>
impl<N> UnwindSafe for ReactiveInputBatch<N>where
<N as Network>::HeaderResponse: UnwindSafe,
<N as Network>::BlockResponse: UnwindSafe,
<N as Network>::TransactionResponse: UnwindSafe,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.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> ⓘ
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> ⓘ
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 moreSource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.