rendezvous

package
v2.407.2 Latest Latest
Warning

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

Go to latest
Published: Jun 28, 2022 License: Apache-2.0, MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultRotationInterval = time.Hour * 24

Variables

View Source
var (
	RotationGracePeriod  = time.Minute * 10
	MinimumDelayRotation = time.Minute
)

Functions

func GenerateRendezvousPointForPeriod

func GenerateRendezvousPointForPeriod(topic, seed []byte, date time.Time) []byte

func NextTimePeriod

func NextTimePeriod(date time.Time, interval time.Duration) time.Time

func RoundTimePeriod

func RoundTimePeriod(date time.Time, interval time.Duration) time.Time

Types

type Point added in v2.367.0

type Point struct {
	// contains filtered or unexported fields
}

func (*Point) Deadline added in v2.367.0

func (p *Point) Deadline() time.Time

func (*Point) IsExpired added in v2.367.0

func (p *Point) IsExpired() bool

func (*Point) NextPoint added in v2.367.0

func (p *Point) NextPoint() *Point

func (*Point) RawRotationTopic added in v2.367.0

func (p *Point) RawRotationTopic() []byte

func (*Point) RawTopic added in v2.367.0

func (p *Point) RawTopic() []byte

func (*Point) RotationTopic added in v2.367.0

func (p *Point) RotationTopic() string

func (*Point) Seed added in v2.367.0

func (p *Point) Seed() []byte

func (*Point) TTL added in v2.367.0

func (p *Point) TTL() time.Duration

func (*Point) Topic added in v2.367.0

func (p *Point) Topic() string

type RotationInterval added in v2.367.0

type RotationInterval struct {
	// contains filtered or unexported fields
}

func NewRotationInterval added in v2.367.0

func NewRotationInterval(interval time.Duration) *RotationInterval

func NewStaticRotationInterval added in v2.367.0

func NewStaticRotationInterval() *RotationInterval

func (*RotationInterval) NewRendezvousPointForPeriod added in v2.367.0

func (r *RotationInterval) NewRendezvousPointForPeriod(at time.Time, topic string, seed []byte) (point *Point)

func (*RotationInterval) NextTimePeriod added in v2.367.0

func (r *RotationInterval) NextTimePeriod(at time.Time) time.Time

func (*RotationInterval) PointForRawRotation added in v2.367.0

func (r *RotationInterval) PointForRawRotation(rotation []byte) (*Point, error)

func (*RotationInterval) PointForRotation added in v2.367.0

func (r *RotationInterval) PointForRotation(rotation string) (*Point, error)

func (*RotationInterval) PointForTopic added in v2.367.0

func (r *RotationInterval) PointForTopic(topic string) (*Point, error)

func (*RotationInterval) RegisterRotation added in v2.367.0

func (r *RotationInterval) RegisterRotation(at time.Time, topic string, seed []byte)

func (*RotationInterval) RoundTimePeriod added in v2.367.0

func (r *RotationInterval) RoundTimePeriod(at time.Time) time.Time

Jump to

Keyboard shortcuts

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