fips140cache

package standard library
go1.25rc2 Latest Latest
Warning

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

Go to latest
Published: Jul 8, 2025 License: BSD-3-Clause Imports: 3 Imported by: 0

Documentation

Overview

Package fips140cache provides a weak map that associates the lifetime of values with the lifetime of keys.

It can be used to associate a precomputed value (such as an internal/fips140 PrivateKey value, which in FIPS 140-3 mode may have required an expensive pairwise consistency test) with a type that doesn't have private fields (such as an ed25519.PrivateKey), or that can't be safely modified because it may be concurrently copied (such as an ecdsa.PrivateKey).

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cache

type Cache[K, V any] struct {
	// contains filtered or unexported fields
}

func (*Cache[K, V]) Get

func (c *Cache[K, V]) Get(k *K, new func() (*V, error), check func(*V) bool) (*V, error)

Get returns the result of new, for an associated key k.

If Get was called with k before and didn't return an error, Get may return the same value it returned from the previous call if check returns true on it. If check returns false, Get will call new again and return the result.

The cache is evicted some time after k becomes unreachable.

Jump to

Keyboard shortcuts

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