org.sigilaris.node.gossip.tx

Members list

Type members

Classlikes

Outcome of processing a control batch.

Outcome of processing a control batch.

Attributes

Source
TxGossipRuntimeSupport.scala
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Why the producer cannot safely omit an artifact.

Why the producer cannot safely omit an artifact.

Attributes

Source
GossipArtifactKnownStateClassifier.scala
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Peer knowledge classification for an artifact needed by a proposal.

Peer knowledge classification for an artifact needed by a proposal.

Attributes

Source
GossipArtifactKnownStateClassifier.scala
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Known-state classifier shared by proposal dependency planning.

Known-state classifier shared by proposal dependency planning.

Attributes

Source
GossipArtifactKnownStateClassifier.scala
Supertypes
class Object
trait Matchable
class Any
Self type
final case class GossipArtifactKnownStatePolicy(maxFilterAge: Duration, saturatedBitDensity: Double)

Classification policy for Bloom freshness and saturation.

Classification policy for Bloom freshness and saturation.

Attributes

Source
GossipArtifactKnownStateClassifier.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
sealed trait GossipSidecarDecision[A]

Producer decision for the next live event on a gated topic.

Producer decision for the next live event on a gated topic.

Attributes

Companion
object
Source
GossipSidecarPlanner.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Emit[A]
class Fallback[A]
class Hold[A]
class PassThrough[A]

Companion constructors for sidecar planner decisions.

Companion constructors for sidecar planner decisions.

Attributes

Companion
trait
Source
GossipSidecarPlanner.scala
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class GossipSidecarDiagnostic(reason: GossipSidecarDiagnosticReason, chainTopic: ChainTopic, proposalId: StableArtifactId, detail: Option[String])

Per-peer diagnostic for sidecar decisions and fallback paths.

Per-peer diagnostic for sidecar decisions and fallback paths.

Attributes

Source
GossipSidecarPlanner.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Structured reason recorded by a proposal sidecar planner.

Structured reason recorded by a proposal sidecar planner.

Attributes

Source
GossipSidecarPlanner.scala
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class GossipSidecarHoldState(proposalId: StableArtifactId, firstHeldAt: Instant, lastHeldAt: Instant, attempts: Int, reason: GossipSidecarDiagnosticReason)

Bounded hold state for a proposal whose required sidecars are pending.

Bounded hold state for a proposal whose required sidecars are pending.

Attributes

Source
GossipSidecarPlanner.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
trait GossipSidecarPlanner[F[_], A]

Optional planner that can prepend explicit sidecar events before a live proposal event and temporarily gate the proposal topic cursor.

Optional planner that can prepend explicit sidecar events before a live proposal event and temporarily gate the proposal topic cursor.

Attributes

Companion
object
Source
GossipSidecarPlanner.scala
Supertypes
class Object
trait Matchable
class Any

Companion for disabled/default sidecar planning.

Companion for disabled/default sidecar planning.

Attributes

Companion
trait
Source
GossipSidecarPlanner.scala
Supertypes
class Object
trait Matchable
class Any
Self type
final class InMemoryTxArtifactSink[F[_], A] extends GossipArtifactSink[F, A]

In-memory implementation of GossipArtifactSink for transaction artifacts, primarily for testing.

In-memory implementation of GossipArtifactSink for transaction artifacts, primarily for testing.

Type parameters

A

the artifact payload type

F

the effect type

Attributes

Companion
object
Source
InMemoryTxArtifacts.scala
Supertypes
trait GossipArtifactSink[F, A]
class Object
trait Matchable
class Any

Companion for InMemoryTxArtifactSink.

Companion for InMemoryTxArtifactSink.

Attributes

Companion
class
Source
InMemoryTxArtifacts.scala
Supertypes
class Object
trait Matchable
class Any
Self type
final class InMemoryTxArtifactSource[F[_], A] extends GossipArtifactSource[F, A]

In-memory implementation of GossipArtifactSource for transaction artifacts, primarily for testing.

In-memory implementation of GossipArtifactSource for transaction artifacts, primarily for testing.

Type parameters

A

the artifact payload type

F

the effect type

Attributes

Companion
object
Source
InMemoryTxArtifacts.scala
Supertypes
trait GossipArtifactSource[F, A]
class Object
trait Matchable
class Any

Companion for InMemoryTxArtifactSource.

Companion for InMemoryTxArtifactSource.

Attributes

Companion
class
Source
InMemoryTxArtifacts.scala
Supertypes
class Object
trait Matchable
class Any
Self type
final case class InMemoryTxSinkSnapshot[A](applied: Vector[GossipEvent[A]], duplicates: Vector[GossipEvent[A]], appliedIds: Map[ChainId, Set[StableArtifactId]])

Snapshot of the in-memory transaction sink state for testing and inspection.

Snapshot of the in-memory transaction sink state for testing and inspection.

Type parameters

A

the artifact payload type

Value parameters

applied

events that were successfully applied

appliedIds

per-chain set of applied artifact ids for deduplication

duplicates

events that were detected as duplicates

Attributes

Companion
object
Source
InMemoryTxArtifacts.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Companion for InMemoryTxSinkSnapshot.

Companion for InMemoryTxSinkSnapshot.

Attributes

Companion
class
Source
InMemoryTxArtifacts.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class TxBatchingConfig(maxBatchItems: Int, flushInterval: Duration) extends GossipProducerQoS

Transaction-specific batching configuration implementing GossipProducerQoS.

Transaction-specific batching configuration implementing GossipProducerQoS.

Value parameters

flushInterval

interval after which a partial batch should be flushed

maxBatchItems

maximum number of items per batch

Attributes

Companion
object
Source
TxRuntimeState.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Companion for TxBatchingConfig.

Companion for TxBatchingConfig.

Attributes

Companion
class
Source
TxRuntimeState.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type

Attributes

Source
TxBloomFilterSupport.scala
Supertypes
class Object
trait Matchable
class Any
Self type

Strategy for selecting which live events to deliver based on peer-declared filters and known ids.

Strategy for selecting which live events to deliver based on peer-declared filters and known ids.

Type parameters

A

the artifact payload type

Attributes

Companion
object
Source
TxGossipRuntimeSupport.scala
Supertypes
class Object
trait Matchable
class Any

Companion for TxCascadeStrategy providing default implementations.

Companion for TxCascadeStrategy providing default implementations.

Attributes

Companion
trait
Source
TxGossipRuntimeSupport.scala
Supertypes
class Object
trait Matchable
class Any
Self type
final class TxGossipRuntime[F[_], A](peerAuthenticator: PeerAuthenticator[F], val clock: GossipClock[F], val source: GossipArtifactSource[F, A], val sink: GossipArtifactSink[F, A], val topicContracts: GossipTopicContractRegistry[A], val stateStore: TxGossipStateStore[F], val policy: TxRuntimePolicy, val cascadeStrategy: TxCascadeStrategy[A], val sidecarPlanner: GossipSidecarPlanner[F, A], wakeupBus: Option[TxGossipWakeupBus[F]])(using evidence$1: Sync[F])

Effectful runtime coordinating transaction gossip sessions, event production, event consumption, and control batch processing.

Effectful runtime coordinating transaction gossip sessions, event production, event consumption, and control batch processing.

Type parameters

A

the artifact payload type

F

the effect type

Attributes

Companion
object
Source
TxGossipRuntime.scala
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
class
Source
TxGossipRuntime.scala
Supertypes
class Object
trait Matchable
class Any
Self type
final case class TxGossipRuntimeState(engine: GossipSessionEngine, outboundSessions: Map[DirectionalSessionId, TxProducerSessionState])

Combined runtime state holding the session engine and outbound session states.

Combined runtime state holding the session engine and outbound session states.

Value parameters

engine

the gossip session engine

outboundSessions

the active outbound producer session states

Attributes

Source
TxRuntimeState.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
trait TxGossipStateStore[F[_]]

Mutable store for the transaction gossip runtime state.

Mutable store for the transaction gossip runtime state.

Type parameters

F

the effect type

Attributes

Companion
object
Source
TxRuntimeState.scala
Supertypes
class Object
trait Matchable
class Any

Companion for TxGossipStateStore providing factory methods.

Companion for TxGossipStateStore providing factory methods.

Attributes

Companion
trait
Source
TxRuntimeState.scala
Supertypes
class Object
trait Matchable
class Any
Self type

Advisory wakeup reason for the transaction gossip event stream driver.

Advisory wakeup reason for the transaction gossip event stream driver.

Attributes

Source
TxGossipWakeupBus.scala
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final class TxGossipWakeupBus[F[_]] extends GossipSourceAppendNotifier[F]

Runtime-owned bounded, coalescing wakeup bus for outbound event streams.

Runtime-owned bounded, coalescing wakeup bus for outbound event streams.

Each active stream owns one queue with capacity one. Additional wakeups for a stream that is already awake are coalesced, while the retained source and session cursor state remain the delivery source of truth.

Attributes

Companion
object
Source
TxGossipWakeupBus.scala
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
class
Source
TxGossipWakeupBus.scala
Supertypes
class Object
trait Matchable
class Any
Self type
final class TxGossipWakeupSubscription[F[_]]

A registered stream wakeup subscription.

A registered stream wakeup subscription.

Attributes

Source
TxGossipWakeupBus.scala
Supertypes
class Object
trait Matchable
class Any
trait TxIdentity[-A]

Type class for computing a stable content-addressable identifier from a transaction payload.

Type class for computing a stable content-addressable identifier from a transaction payload.

Type parameters

A

the transaction payload type (contravariant)

Attributes

Companion
object
Source
TxTopic.scala
Supertypes
class Object
trait Matchable
class Any
object TxIdentity

Companion for TxIdentity providing derivation from Hash instances.

Companion for TxIdentity providing derivation from Hash instances.

Attributes

Companion
trait
Source
TxTopic.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TxIdentity.type
final case class TxProducerSessionState(sessionId: DirectionalSessionId, peer: PeerIdentity, peerCorrelationId: PeerCorrelationId, subscriptions: SessionSubscription, negotiated: NegotiatedSessionParameters, durableCursor: CompositeCursor, streamCursor: CompositeCursor, filters: Map[ChainTopic, TxBloomFilter], filterReceiptTimes: Map[ChainTopic, Instant], exactKnownIds: Map[ChainId, Set[StableArtifactId]], exactKnownScopeIds: Map[ExactKnownSetScope, Set[StableArtifactId]], pendingReplay: Map[ChainTopic, Option[CursorToken]], pendingRequestByIds: Map[ChainId, Vector[StableArtifactId]], pendingRequestScopeIds: Map[ExactKnownSetScope, Vector[StableArtifactId]], requestScopeRetryCounts: Map[ExactKnownSetScope, Int], sidecarHolds: Map[ChainTopic, GossipSidecarHoldState], sidecarDiagnostics: Vector[GossipSidecarDiagnostic], idempotencyKeys: Map[ControlIdempotencyKey, Instant], batchingConfig: TxBatchingConfig)

Attributes

Companion
object
Source
TxRuntimeState.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Companion constants for producer session state.

Companion constants for producer session state.

Attributes

Companion
class
Source
TxRuntimeState.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class TxReceiveEventsResult[A](applied: Vector[GossipEvent[A]], duplicates: Vector[GossipEvent[A]], lastCursor: Option[CursorToken])

Result of receiving and applying a batch of inbound events.

Result of receiving and applying a batch of inbound events.

Type parameters

A

the artifact payload type

Value parameters

applied

events that were newly applied

duplicates

events that were duplicates

lastCursor

the cursor of the last processed event, if any

Attributes

Source
TxGossipRuntimeSupport.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class TxRuntimePolicy(maxTxSetKnownEntries: Int, maxTxRequestIds: Int, maxExactRequestRetriesPerScope: Option[Int], controlRetryHorizonMultiplier: Int, supportedBloomHashFamilyId: String, defaultBatchingConfig: TxBatchingConfig)

Attributes

Source
TxRuntimeState.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class TxSessionNegotiationOverrides(heartbeatInterval: Option[Duration], livenessTimeout: Option[Duration], maxControlRetryInterval: Option[Duration])

Optional overrides for session negotiation parameters.

Optional overrides for session negotiation parameters.

Value parameters

heartbeatInterval

optional heartbeat interval override

livenessTimeout

optional liveness timeout override

maxControlRetryInterval

optional max control retry interval override

Attributes

Companion
object
Source
TxGossipRuntimeSupport.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Companion for TxSessionNegotiationOverrides.

Companion for TxSessionNegotiationOverrides.

Attributes

Companion
class
Source
TxGossipRuntimeSupport.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
object TxTopic

Attributes

Source
TxTopic.scala
Supertypes
class Object
trait Matchable
class Any
Self type
TxTopic.type