Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Capped ¶
type Capped[T any] struct { // contains filtered or unexported fields }
Capped receives an ordered feed of integer based offsets being tracked, and an unordered feed of integer based offsets that are resolved, and is able to return the highest offset currently able to be committed such that an unresolved offset is never committed.
If the number of unresolved tracked values meets a given cap the next attempt to track a value will be blocked until the next value is resolved.
This component is safe to use concurrently across goroutines.
func (*Capped[T]) Highest ¶
func (c *Capped[T]) Highest() *T
Highest returns the current highest checkpoint.
type Uncapped ¶
type Uncapped[T any] struct { // contains filtered or unexported fields }
Uncapped keeps track of a sequence of pending checkpoint payloads, and as pending checkpoints are resolved it retains the latest fully resolved payload in the sequence where all prior sequence checkpoints are also resolved.
Also keeps track of the logical size of the unresolved sequence, which allows for limiting the number of pending checkpoints.
func NewUncapped ¶
NewUncapped returns a new check pointer implemented via a linked list.
func (*Uncapped[T]) Highest ¶
func (t *Uncapped[T]) Highest() *T
Highest returns the payload of the highest resolved checkpoint.