consumer

package
v0.11.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 6, 2023 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func EncryptEvent

func EncryptEvent[T any](e Event[T], cryptoKey stream.CryptoKeyProvider) (es event.Event, err error)

Types

type Consumer

type Consumer[T any] interface {
	Store(event Event[T]) (position uint64, err error)
	//Stream(eventTypes []event.Type, from store.StreamPosition, filter stream.Filter) (out <-chan ReadEvent[T], err error)
	End() (pos uint64, err error)
	Name() string
}

func New

func New[T any](s stream.Stream, cryptoKey stream.CryptoKeyProvider, eventTypes []event.Type, from store.StreamPosition, filter stream.Filter, ctx context.Context) (out Consumer[T], eventStream <-chan ReadEvent[T], err error)

type Event

type Event[T any] struct {
	Type     event.Type
	Data     T
	Metadata event.Metadata
}

type Map

type Map[T any] interface {
	Store(id string, data T)
	Load(id string) (data T, ok bool)
	Delete(id string)
	Range(f func(k string, v T) bool)
}

func NewMap

func NewMap[T any]() Map[T]

type ReadEvent

type ReadEvent[T any] struct {
	Event[T]

	Position uint64
	Created  time.Time

	Acc func()
	CTX context.Context
}

func DecryptEvent

func DecryptEvent[T any](e event.ReadEvent, cryptoKey stream.CryptoKeyProvider) (out ReadEvent[T], err error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL