sc_consensus_subspace::slot_worker

Struct SubspaceSlotWorkerOptions

source
pub struct SubspaceSlotWorkerOptions<Block, Client, E, SO, L, BS, AS>
where Block: BlockT, SO: SyncOracle + Send + Sync,
{
Show 14 fields pub client: Arc<Client>, pub env: E, pub block_import: BoxBlockImport<Block>, pub sync_oracle: SubspaceSyncOracle<SO>, pub justification_sync_link: L, pub force_authoring: bool, pub backoff_authoring_blocks: Option<BS>, pub subspace_link: SubspaceLink<Block>, pub segment_headers_store: SegmentHeadersStore<AS>, pub block_proposal_slot_portion: SlotProportion, pub max_block_proposal_slot_portion: Option<SlotProportion>, pub telemetry: Option<TelemetryHandle>, pub offchain_tx_pool_factory: OffchainTransactionPoolFactory<Block>, pub pot_verifier: PotVerifier,
}
Expand description

Parameters for SubspaceSlotWorker

Fields§

§client: Arc<Client>

The client to use

§env: E

The environment we are producing blocks for.

§block_import: BoxBlockImport<Block>

The underlying block-import object to supply our produced blocks to. This must be a SubspaceBlockImport or a wrapper of it, otherwise critical consensus logic will be omitted.

§sync_oracle: SubspaceSyncOracle<SO>

A sync oracle

§justification_sync_link: L

Hook into the sync module to control the justification sync process.

§force_authoring: bool

Force authoring of blocks even if we are offline

§backoff_authoring_blocks: Option<BS>

Strategy and parameters for backing off block production.

§subspace_link: SubspaceLink<Block>

The source of timestamps for relative slots

§segment_headers_store: SegmentHeadersStore<AS>

Persistent storage of segment headers

§block_proposal_slot_portion: SlotProportion

The proportion of the slot dedicated to proposing.

The block proposing will be limited to this proportion of the slot from the starting of the slot. However, the proposing can still take longer when there is some lenience factor applied, because there were no blocks produced for some slots.

§max_block_proposal_slot_portion: Option<SlotProportion>

The maximum proportion of the slot dedicated to proposing with any lenience factor applied due to no blocks being produced.

§telemetry: Option<TelemetryHandle>

Handle use to report telemetries.

§offchain_tx_pool_factory: OffchainTransactionPoolFactory<Block>

The offchain transaction pool factory.

Will be used when sending equivocation reports and votes.

§pot_verifier: PotVerifier

Proof of time verifier

Auto Trait Implementations§

§

impl<Block, Client, E, SO, L, BS, AS> Freeze for SubspaceSlotWorkerOptions<Block, Client, E, SO, L, BS, AS>
where E: Freeze, L: Freeze, SO: Freeze, BS: Freeze,

§

impl<Block, Client, E, SO, L, BS, AS> !RefUnwindSafe for SubspaceSlotWorkerOptions<Block, Client, E, SO, L, BS, AS>

§

impl<Block, Client, E, SO, L, BS, AS> Send for SubspaceSlotWorkerOptions<Block, Client, E, SO, L, BS, AS>
where E: Send, L: Send, Client: Sync + Send, BS: Send, AS: Sync + Send,

§

impl<Block, Client, E, SO, L, BS, AS> Sync for SubspaceSlotWorkerOptions<Block, Client, E, SO, L, BS, AS>
where E: Sync, L: Sync, Client: Sync + Send, BS: Sync, AS: Sync + Send,

§

impl<Block, Client, E, SO, L, BS, AS> Unpin for SubspaceSlotWorkerOptions<Block, Client, E, SO, L, BS, AS>
where E: Unpin, L: Unpin, SO: Unpin, BS: Unpin,

§

impl<Block, Client, E, SO, L, BS, AS> !UnwindSafe for SubspaceSlotWorkerOptions<Block, Client, E, SO, L, BS, AS>

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
§

impl<T> Any for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

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
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

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

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

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

source§

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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
§

impl<T> SaturatedConversion for T

§

fn saturated_from<T>(t: T) -> Self
where Self: UniqueSaturatedFrom<T>,

Convert from a value of T into an equivalent instance of Self. Read more
§

fn saturated_into<T>(self) -> T
where Self: UniqueSaturatedInto<T>,

Consume self to return an equivalent value of T. 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.
§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> JsonSchemaMaybe for T