You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/types/lazy
Nick Hill 9a73462ea4 types/lazy: add DeferredInit type
It is sometimes necessary to defer initialization steps until the first actual usage
or until certain prerequisites have been met. For example, policy setting and
policy source registration should not occur during package initialization.
Instead, they should be deferred until the syspolicy package is actually used.
Additionally, any errors should be properly handled and reported, rather than
causing a panic within the package's init function.

In this PR, we add DeferredInit, to facilitate the registration and invocation
of deferred initialization functions.

Updates #12687

Signed-off-by: Nick Hill <mykola.khyl@gmail.com>
4 weeks ago
..
deferred.go types/lazy: add DeferredInit type 4 weeks ago
deferred_test.go types/lazy: add DeferredInit type 4 weeks ago
lazy.go types/lazy: re-init SyncValue during test cleanup if it wasn't set before SetForTest 3 months ago
sync_test.go types/lazy: re-init SyncValue during test cleanup if it wasn't set before SetForTest 3 months ago
unsync.go types/lazy: helpers for lazily computed values 2 years ago
unsync_test.go types/lazy: helpers for lazily computed values 2 years ago