window

package
v1.8.5 Latest Latest
Warning

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

Go to latest
Published: Sep 9, 2022 License: BSD-3-Clause Imports: 3 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Clock   *mockable.Clock
	MaxSize int
	TTL     time.Duration
}

Config exposes parameters for Window

type Window

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

Window is an interface which represents a sliding window of elements.

func New

func New(config Config) *Window

New returns an instance of window

func (*Window) Add

func (w *Window) Add(value interface{})

Add adds an element to a window and also evicts any elements if they've been present in the window beyond the configured time-to-live

func (*Window) Length

func (w *Window) Length() int

Length returns the number of elements in the window.

func (*Window) Oldest

func (w *Window) Oldest() (interface{}, bool)

Oldest returns the oldest element in the window.

Jump to

Keyboard shortcuts

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