HotStuffProposalTxSync

org.sigilaris.node.jvm.runtime.consensus.hotstuff.HotStuffProposalTxSync

Utilities for synchronizing transaction payloads referenced by consensus proposals.

Attributes

Source
ProposalTxSync.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def controlBatchForProposal(proposal: Proposal, knownTxIds: Set[StableArtifactId], idempotencyKey: String, txPolicy: TxRuntimePolicy): Either[ControlBatchRejected, Option[ControlBatch]]

Builds a gossip control batch to request missing transaction payloads for a proposal.

Builds a gossip control batch to request missing transaction payloads for a proposal.

Attributes

Source
ProposalTxSync.scala
def controlBatchesForProposalOnExactTopics(proposal: Proposal, knownTxIds: Set[StableArtifactId], idempotencyKeyForBatch: Int => String, scopeForId: StableArtifactId => Either[ControlBatchRejected, ExactKnownSetScope], requestByIdLimitForScope: ExactKnownSetScope => Either[ControlBatchRejected, Int]): Either[ControlBatchRejected, Vector[ControlBatch]]

Builds staged exact-known-set request batches for application topics whose stable IDs are referenced by a HotStuff proposal tx set.

Builds staged exact-known-set request batches for application topics whose stable IDs are referenced by a HotStuff proposal tx set.

The helper emits only bounded RequestByIdExact operations. It does not publish SetKnownExact updates for proposal tx IDs.

Attributes

Source
ProposalTxSync.scala
def missingTxIds(proposal: Proposal, knownTxIds: Set[StableArtifactId]): Vector[StableArtifactId]

Returns the transaction IDs from the proposal that are not in the known set.

Returns the transaction IDs from the proposal that are not in the known set.

Attributes

Source
ProposalTxSync.scala