Package-level declarations
Types
Where a context's committed state events go: the Kafka Sink's topics, a warehouse's tables. The runtime's sink subscription reads the log, builds the StateEventRecords and hands them to write; it owns the semantics around the write (checkpoints, retries, parking), so a sink only writes.
What a SinkProvider opens its sinks from: their name and type, their own settings (options, each key relative to the sink's configuration, endpoint say), and the application's resources.
A Sink of the streams a service publishes: what opens the Sinks of one destination, a warehouse's tables say. Wow's ClickHouse Sink (clickhouse) is a provider as a community one is: the host finds them on the classpath (ServiceLoader, from the module's META-INF/services/me.ahoo.wow.spi.sink.SinkProvider) and among the application's beans, a bean taking the place of a provider of its type on the classpath, as it finds a me.ahoo.wow.spi.store.StoreProvider, and runs one sink subscription per published stream over what it opens.