memo

package
v0.0.0-...-5daf3a2 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2020 License: MIT Imports: 0 Imported by: 0

Documentation

Overview

Package memo provides a concurrency-safe non-blocking memoization of a function. Requests for different keys proceed in parallel. Concurrent requests for the same key block until the first completes. This implementation uses a monitor goroutine.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Func

type Func func(key string) (interface{}, error)

Func is the type of the function to memoize.

type Memo

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

func New

func New(f Func) *Memo

New returns a memoization of f. Clients must subsequently call Close.

func (*Memo) Close

func (memo *Memo) Close()

func (*Memo) Get

func (memo *Memo) Get(key string) (interface{}, error)

Jump to

Keyboard shortcuts

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