pub struct SubspaceSlotWorkerOptions<Block, Client, E, SO, L, BS, AS>{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 of blocks even if we are offline
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>
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>
impl<Block, Client, E, SO, L, BS, AS> Sync for SubspaceSlotWorkerOptions<Block, Client, E, SO, L, BS, AS>
impl<Block, Client, E, SO, L, BS, AS> Unpin for SubspaceSlotWorkerOptions<Block, Client, E, SO, L, BS, AS>
impl<Block, Client, E, SO, L, BS, AS> !UnwindSafe for SubspaceSlotWorkerOptions<Block, Client, E, SO, L, BS, AS>
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<T> CheckedConversion for T
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T
. Read more§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.