Skip to main content

BatchProcessResultBuilder

Struct BatchProcessResultBuilder 

Source
pub struct BatchProcessResultBuilder { /* private fields */ }
Expand description

Builder carrying validated parts for a crate::BatchProcessResult.

The builder checks that completed, processed, and chunk counters describe a consistent processing result before creating the result.

use std::time::Duration;

use qubit_batch::BatchProcessResultBuilder;

let result = BatchProcessResultBuilder::builder(3)
    .completed_count(3)
    .processed_count(3)
    .chunk_count(1)
    .elapsed(Duration::ZERO)
    .build()
    .expect("process result counters should be consistent");

assert!(result.is_success());
assert_eq!(result.chunk_count(), 1);

Implementations§

Source§

impl BatchProcessResultBuilder

Source

pub const fn builder(item_count: usize) -> Self

Starts building a batch process result.

§Parameters
  • item_count - Declared item count for the batch.
§Returns

A builder initialized with zero counters and zero elapsed time.

Source

pub const fn completed_count(self, completed_count: usize) -> Self

Sets the number of input items whose processing reached a terminal outcome.

§Parameters
  • completed_count - Number of completed input items.
§Returns

The updated builder.

Source

pub const fn processed_count(self, processed_count: usize) -> Self

Sets the number of items reported as successfully processed.

§Parameters
  • processed_count - Number of successfully processed items.
§Returns

The updated builder.

Source

pub const fn chunk_count(self, chunk_count: usize) -> Self

Sets the number of chunks submitted by the processor.

§Parameters
  • chunk_count - Number of submitted chunks.
§Returns

The updated builder.

Source

pub const fn elapsed(self, elapsed: Duration) -> Self

Sets the total monotonic elapsed duration.

§Parameters
  • elapsed - Total monotonic elapsed duration.
§Returns

The updated builder.

Source

pub fn validate(self) -> Result<Self, BatchProcessResultBuildError>

Validates this builder.

§Returns

Ok(builder) when all counters are consistent.

§Errors

Returns BatchProcessResultBuildError when the counters are inconsistent.

Source

pub fn build(self) -> Result<BatchProcessResult, BatchProcessResultBuildError>

Validates this builder and creates a batch process result.

§Returns

Ok(result) when all counters are consistent.

§Errors

Returns BatchProcessResultBuildError when the counters are inconsistent.

Trait Implementations§

Source§

impl Clone for BatchProcessResultBuilder

Source§

fn clone(&self) -> BatchProcessResultBuilder

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for BatchProcessResultBuilder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for BatchProcessResultBuilder

Source§

fn eq(&self, other: &BatchProcessResultBuilder) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for BatchProcessResultBuilder

Source§

impl StructuralPartialEq for BatchProcessResultBuilder

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.