Documentation
¶
Overview ¶
Package storage resolves the gateway's queue-scoped stores: the append-only request log and the read models behind request-summary retrieval and List. The store contracts themselves stay in submitqueue/extension/storage — only the aggregate is service-scoped, so what the gateway can reach is narrower than what the domain defines.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config = basestorage.Config
Config identifies the queue a Storage instance is resolved for. It is the shared storage config: an alias rather than a new type, so a caller holding one can resolve either service's storage with it.
type Factory ¶
type Factory interface {
// For returns the Storage aggregate bound to the queue named in config.
For(config Config) (Storage, error)
}
Factory resolves the queue-scoped Storage aggregate for a queue. Mirrors the extension contract: the host wiring decides which backend serves which queue; implementations bind the queue over their backend so a resolved instance can only read and write that queue's data.
type Storage ¶
type Storage interface {
// GetRequestLogStore returns the RequestLogStore instance.
GetRequestLogStore() basestorage.RequestLogStore
// GetRequestSummaryStore returns the RequestSummaryStore instance.
GetRequestSummaryStore() basestorage.RequestSummaryStore
// GetRequestReceiptStore returns the RequestReceiptStore instance.
GetRequestReceiptStore() basestorage.RequestReceiptStore
// GetRequestURIStore returns the RequestURIStore instance.
GetRequestURIStore() basestorage.RequestURIStore
}
Storage aggregates the gateway's queue-scoped stores into a single injectable dependency. An instance is resolved per queue through Factory and is bound to that queue: entity arguments whose Queue field disagrees with the binding are rejected, and reads never surface another queue's records.