StreamCapabilities

scalus.cardano.node.stream.StreamCapabilities
See theStreamCapabilities companion object
case class StreamCapabilities(kinds: Set[SubscriptionKind], pushdown: Set[PushdownKind], scanning: ScanSupport, replay: ReplaySupport, rollbackHorizon: Option[Int], maxConfirmations: Option[Int], idleSignals: Boolean)

Everything a provider declares about its streaming behaviour.

This is the only thing an implementation states. Whether a particular subscription is supported, and whether it is cheap, is derived from this descriptor by SubscriptionSupport.of — so a provider cannot refuse something it advertised, or accept something it did not, and callers can decide what to ask for before asking.

Value parameters

idleSignals

whether the provider can emit progress signals for non-matching blocks

kinds

which subscription kinds are served at all

maxConfirmations

the largest confirmation depth the provider can gate on, if bounded

pushdown

query sources that can be served from an index rather than a scan

replay

how far back a subscription can start

rollbackHorizon

how deep a reorg the provider can report. None means it never signals rollbacks — which is not the same as "no rollbacks happen", and is exactly why it is declared rather than assumed

scanning

what a query outside pushdown costs — Free for a provider that already holds every block, Metered for one that would have to go and fetch it

Attributes

Companion
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product