Documentation
¶
Overview ¶
Package events2 implements the abstract types using SingleStore
Index ¶
- func LockOrError[TX eventmodels.AbstractTX, DB eventmodels.CanTransact[TX]](ctx context.Context, db DB, key uint32, timeout time.Duration, ...) (unlock func() error, err error)
- func MarkEventProcessed[TX eventmodels.AbstractTX](ctx context.Context, tx TX, topic string, source string, id string, ...) error
- func Migrations(database *libschema.Database, singlestore *lssinglestore.SingleStore)
- func ProduceDroppedTxEvents[TX eventmodels.AbstractTX, DB eventmodels.CanTransact[TX]](ctx context.Context, db DB, batchSize int, ...) (int, error)
- func ProduceSpecificTxEvents[TX eventmodels.AbstractTX, DB eventmodels.CanTransact[TX]](ctx context.Context, db DB, ids []eventmodels.BinaryEventID, ...) (int, error)
- func SaveEventsInsideTx[TX eventmodels.AbstractTX](ctx context.Context, backupTracer eventmodels.Tracer, tx TX, ...) (map[string][]eventmodels.BinaryEventID, error)
- type Connection
- func (c *Connection[TX, DB]) AugmentWithProducer(producer eventmodels.Producer[eventmodels.BinaryEventID, TX])
- func (c *Connection[TX, DB]) LockOrError(ctx context.Context, key uint32, timeout time.Duration) (unlock func() error, err error)
- func (c Connection[TX, DB]) MarkEventProcessed(ctx context.Context, tx TX, topic string, source string, id string, ...) error
- func (c *Connection[TX, DB]) ProduceDroppedTxEvents(ctx context.Context, batchSize int) (int, error)
- func (c *Connection[TX, DB]) ProduceSpecificTxEvents(ctx context.Context, ids []eventmodels.BinaryEventID) (int, error)
- func (c Connection[TX, DB]) SaveEventsInsideTx(ctx context.Context, tx TX, events ...eventmodels.ProducingEvent) (map[string][]eventmodels.BinaryEventID, error)
- func (c *Connection[TX, DB]) Transact(ctx context.Context, f func(TX) error) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LockOrError ¶
func LockOrError[TX eventmodels.AbstractTX, DB eventmodels.CanTransact[TX]]( ctx context.Context, db DB, key uint32, timeout time.Duration, lockPrefix string, ) (unlock func() error, err error)
func MarkEventProcessed ¶
func MarkEventProcessed[TX eventmodels.AbstractTX](ctx context.Context, tx TX, topic string, source string, id string, handlerName string) error
func Migrations ¶
func Migrations(database *libschema.Database, singlestore *lssinglestore.SingleStore)
func ProduceDroppedTxEvents ¶
func ProduceDroppedTxEvents[TX eventmodels.AbstractTX, DB eventmodels.CanTransact[TX]](ctx context.Context, db DB, batchSize int, producer eventmodels.Producer[eventmodels.BinaryEventID, TX]) (int, error)
func ProduceSpecificTxEvents ¶
func ProduceSpecificTxEvents[TX eventmodels.AbstractTX, DB eventmodels.CanTransact[TX]](ctx context.Context, db DB, ids []eventmodels.BinaryEventID, producer eventmodels.Producer[eventmodels.BinaryEventID, TX]) (int, error)
func SaveEventsInsideTx ¶
func SaveEventsInsideTx[TX eventmodels.AbstractTX](ctx context.Context, backupTracer eventmodels.Tracer, tx TX, optProducer eventmodels.Producer[eventmodels.BinaryEventID, TX], events ...eventmodels.ProducingEvent) (map[string][]eventmodels.BinaryEventID, error)
SaveEventsInsideTx is meant to be used inside a transaction to persist events as part of that transaction. backupTracer is unused if producer is provided. topics are unvalidated if a producer is not provided.
Types ¶
type Connection ¶
type Connection[TX eventdb.BasicTX, DB eventdb.BasicDB[TX]] struct { eventdb.BasicDB[TX] // contains filtered or unexported fields }
func (*Connection[TX, DB]) AugmentWithProducer ¶
func (c *Connection[TX, DB]) AugmentWithProducer(producer eventmodels.Producer[eventmodels.BinaryEventID, TX])
func (*Connection[TX, DB]) LockOrError ¶
func (Connection[TX, DB]) MarkEventProcessed ¶
func (*Connection[TX, DB]) ProduceDroppedTxEvents ¶
func (*Connection[TX, DB]) ProduceSpecificTxEvents ¶
func (c *Connection[TX, DB]) ProduceSpecificTxEvents(ctx context.Context, ids []eventmodels.BinaryEventID) (int, error)
func (Connection[TX, DB]) SaveEventsInsideTx ¶
func (c Connection[TX, DB]) SaveEventsInsideTx(ctx context.Context, tx TX, events ...eventmodels.ProducingEvent) (map[string][]eventmodels.BinaryEventID, error)
Click to show internal directories.
Click to hide internal directories.