history

package
v0.0.0-...-3712671 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2014 License: BSD-3-Clause Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Deduplicable

type Deduplicable interface {
	// IsDuplicate returns true if other is considered to be a
	// duplicate of the calling instance.
	IsDuplicate(interface{}) bool
}

Deduplicable is an interface that records should implement if the history should perform their deduplication. An example would be deduplicating records whose only difference is their timestamp.

type History

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

History is a data structure that allows you to keep some number of records.

func New

func New(length int) *History

Return a history with the specified maximum length.

func (*History) Add

func (history *History) Add(record interface{})

Add a new record in a treadsafe manner. If record implements Equivalent, and IsEquivalent returns true when called on the last previously added record, it will not be added.

func (*History) Records

func (history *History) Records() []interface{}

Return the kept records in reverse chronological order in a threadsafe manner.

Jump to

Keyboard shortcuts

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