Package-level declarations

Types

Link copied to clipboard
class AggregatePlacement(val log: String? = null, val snapshots: List<String> = emptyList(), val snapshotPrimary: String? = null)

One aggregate type's stores: its log store (.log.store), its snapshots stores (.snapshot.stores) and their snapshotPrimary (.snapshot.primary); none set, the defaults.

Link copied to clipboard

Which backend a node runs on (wow.backend).

Link copied to clipboard
class StoreLayout(val log: String, val snapshot: String = log, logs: Map<AggregateType, String> = emptyMap(), snapshots: Map<AggregateType, String> = emptyMap(), placements: Map<AggregateType, SnapshotPlacement> = snapshots.mapValues { SnapshotPlacement(listOf(it.value)) }, val snapshotDefault: SnapshotPlacement = SnapshotPlacement(listOf(snapshot)))

Where each aggregate's log and snapshots are: its log on the store log names (wow.log.store) unless the logs map names another for its type (wow.aggregates.[<context>.<aggregate>].log.store); its snapshots on the stores of its placement (.snapshot.stores, .snapshot.primary), else of snapshotDefault (wow.snapshot.stores, wow.snapshot.primary, the snapshot store alone by default). The snapshot store (the first of wow.snapshot.stores) is each context's default one, whose subscription is wow.snapshot.

Link copied to clipboard
class StorePlacements(val log: String? = null, val snapshot: String? = null, val snapshotTargets: List<String> = emptyList(), val snapshotPrimary: String? = null, val aggregates: Map<String, AggregatePlacement> = emptyMap())

Where a host's configuration places the logs and snapshots, as the wow.* keys say: the default log store (wow.log.store), the default snapshot store (the first of wow.snapshot.stores), the snapshot stores of every aggregate (snapshotTargets, wow.snapshot.stores, and snapshotPrimary, wow.snapshot.primary), and each aggregate's own, by <context>.<aggregate> (aggregates, wow.aggregates.[<context>.<aggregate>]).

Link copied to clipboard

The store types known by name: auto (wow.backend only), and the built-in backends' types. Any other type is a community backend's, served when its StoreProvider is found.