Documentation ¶
Overview ¶
Package checkpoint implements a mechanism for tracking checkpointed integer offsets for sequential read at-least-once queue systems such as Kafka or Kinesis.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Capped ¶
type Capped 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) Resolve ¶
Resolve a tracked offset by allowing it to be committed. The highest possible offset to be committed is returned, or an error if the provided offset was not recognised.