memo

package
v0.0.0-...-a8a07f9 Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2022 License: MIT Imports: 1 Imported by: 0

Documentation

Overview

ex9.3 provides cancellable 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, done <-chan struct{}) (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, done <-chan struct{}) (interface{}, error)

Jump to

Keyboard shortcuts

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