Documentation ¶
Index ¶
- func GetBackend(c context.T, wg *sync.WaitGroup, L1 *badger.Backend, L2 *IConly.Backend) (es eventstore.Store)
- type Backend
- func (b *Backend) Close()
- func (b *Backend) CountEvents(c context.T, f *filter.T) (count int, err error)
- func (b *Backend) DeleteEvent(c context.T, ev *event.T) (err error)
- func (b *Backend) Init() (err error)
- func (b *Backend) QueryEvents(c context.T, f *filter.T) (ch event.C, err error)
- func (b *Backend) SaveEvent(c context.T, ev *event.T) (err error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Backend ¶
Backend is a hybrid badger/Internet Computer based event store.
All search indexes are retained even if event data is pruned to reduce storage space for the relay, when events are pruned, their data is replaced with the event ID to signify they must be fetched and restored to the raw event key.
An alternative data store could be created that purely relies on the IC, or alternatively prunes search indexes to minimize storage used by pruned events, but these would be slower at retrieval and require a more complex cache algorithm.
func (*Backend) Close ¶
func (b *Backend) Close()
Close the connection to the database. IC is a request/response API authing at each request.
func (*Backend) CountEvents ¶
CountEvents returns the number of events found matching the filter.
func (*Backend) DeleteEvent ¶
DeleteEvent removes an event from the event store.
func (*Backend) Init ¶
Init sets up the badger event store and connects to the configured IC canister.
required params are address, canister ID and the badger event store size limit (which can be 0)
func (*Backend) QueryEvents ¶
QueryEvents searches for events that match a filter and returns them asynchronously over a provided channel.