timecache

package
v1.0.108 Latest Latest
Warning

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

Go to latest
Published: Apr 20, 2020 License: GPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type TimeCache

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

TimeCache can retain an amount of string keys for a defined period of time sweeping (clean-up) is triggered each time a new item is added or a key is present in the time cache This data structure is concurrent safe.

func NewTimeCache

func NewTimeCache(span time.Duration) *TimeCache

NewTimeCache creates a new time cache data structure instance

func (*TimeCache) Add

func (tc *TimeCache) Add(key string) error

Add will store the key in the time cache Double adding the key is not permitted by the time cache. Also, add will trigger sweeping.

func (*TimeCache) Has

func (tc *TimeCache) Has(key string) bool

Has returns if the key is still found in the time cache

func (*TimeCache) IsInterfaceNil

func (tc *TimeCache) IsInterfaceNil() bool

IsInterfaceNil returns true if there is no value under the interface

func (*TimeCache) Sweep

func (tc *TimeCache) Sweep()

Sweep starts from the oldest element and will search each element if it is still valid to be kept. Sweep ends when it finds an element that is still valid

Jump to

Keyboard shortcuts

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