memo

package
v0.0.0-...-ec09f47 Latest Latest
Warning

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

Go to latest
Published: May 21, 2020 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Extend the Func type and the (*Memo).Get method so that callers may provide an optional done channel through whicht hey can cancel the operation. The results of a cancelled Func call should not be cached.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Concurrent

func Concurrent()

Types

type Func

type Func func(key string, done <-chan struct{}) (interface{}, error)

Func is the type of the function to memoize

type Memo

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

A Memo caches the results of calling a Func.

func New

func New(f Func) *Memo

func (*Memo) Close

func (memo *Memo) Close()

func (*Memo) Get

func (memo *Memo) Get(key string, done <-chan struct{}) (interface{}, error)

Get is concurrency safe

Jump to

Keyboard shortcuts

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