Involved Source Files Package bcache implements a GC-friendly cache (see [Cache]) for BoringCrypto.stub.s
Package-Level Type Names (only one)
/* sort by: | */
V: any A Cache is a GC-friendly concurrent map from unsafe.Pointer to
unsafe.Pointer. It is meant to be used for maintaining shadow
BoringCrypto state associated with certain allocated structs, in
particular public and private RSA and ECDSA keys.
The cache is GC-friendly in the sense that the keys do not
indefinitely prevent the garbage collector from collecting them.
Instead, at the start of each GC, the cache is cleared entirely. That
is, the cache is lossy, and the loss happens at the start of each GC.
This means that clients need to be able to cope with cache entries
disappearing, but it also means that clients don't need to worry about
cache entries keeping the keys from being collected. Clear clears the cache.
The runtime does this automatically at each garbage collection;
this method is exposed only for testing. Get returns the cached value associated with v,
which is either the value v corresponding to the most recent call to Put(k, v)
or nil if that cache entry has been dropped. Put sets the cached value associated with k to v. Register registers the cache with the runtime,
so that c.ptable can be cleared at the start of each GC.
Register must be called during package initialization.
The pages are generated with Goldsv0.6.6. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds.