Skip to main content

CompleteBlock

Struct CompleteBlock 

Source
pub struct CompleteBlock<T: BlockMetadata> { /* private fields */ }
Expand description

RAII guard for a block in the Staged state.

Wraps an internal Block<T, Staged> – a block that carries a SequenceHash and is ready for registration.

§Obtaining a CompleteBlock

§State transitions

§Drop behaviour

If the CompleteBlock is dropped without being consumed, the underlying block is reset to the Reset state and returned to the reset pool.

Implementations§

Source§

impl<T: BlockMetadata> CompleteBlock<T>

Source

pub fn block_id(&self) -> BlockId

Returns the BlockId assigned to this block.

Source

pub fn sequence_hash(&self) -> SequenceHash

Returns the SequenceHash that was assigned during staging.

Source

pub fn reset(self) -> MutableBlock<T>

Undoes the staging transition, returning a MutableBlock in the Reset state.

The returned MutableBlock does not carry metrics (they are set to None) because this is an undo/rollback path rather than a fresh allocation.

Trait Implementations§

Source§

impl<T: BlockMetadata> Drop for CompleteBlock<T>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more

Auto Trait Implementations§

§

impl<T> !RefUnwindSafe for CompleteBlock<T>

§

impl<T> !UnwindSafe for CompleteBlock<T>

§

impl<T> Freeze for CompleteBlock<T>

§

impl<T> Send for CompleteBlock<T>

§

impl<T> Sync for CompleteBlock<T>

§

impl<T> Unpin for CompleteBlock<T>
where T: Unpin,

§

impl<T> UnsafeUnpin for CompleteBlock<T>

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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, 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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more