tailscale/types
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>
2024-10-07 15:43:22 -05:00
..
appctype appc,ipn/ipnlocal,types/appctype: implement control provided routes 2024-01-17 14:40:09 -08:00
dnstype cli: add tailscale dns query (#13368) 2024-09-24 20:18:45 +00:00
empty all: update copyright and license headers 2023-01-27 15:36:29 -08:00
flagtype all: update copyright and license headers 2023-01-27 15:36:29 -08:00
ipproto all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
key types/key: use tlpub: in error message (#13707) 2024-10-07 17:28:45 +01:00
lazy types/lazy: add DeferredInit type 2024-10-07 15:43:22 -05:00
logger all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
logid types/logid: add Add method (#12478) 2024-06-17 16:03:44 -07:00
netlogtype all: update copyright and license headers 2023-01-27 15:36:29 -08:00
netmap net/ipset, wgengine/filter/filtertype: add split-out packages 2024-06-16 15:25:23 -07:00
nettype wgengine/magicsock, types/nettype, etc: finish ReadFromUDPAddrPort netip migration 2023-04-15 13:40:15 -07:00
opt types/opt: add BoolFlag for setting Bool value as a flag 2024-08-26 11:32:35 -07:00
persist types/persist: remove unused field Persist.Provider 2024-04-21 10:48:25 -07:00
prefs types/prefs: add a package containing generic preference types 2024-08-21 12:44:38 -05:00
preftype cmd/tailscaled,*: add start of configuration file support 2023-10-16 10:40:27 -07:00
ptr all: update copyright and license headers 2023-01-27 15:36:29 -08:00
structs all: update copyright and license headers 2023-01-27 15:36:29 -08:00
tkatype types/tkatype: add test for MarshaledSignature's JSON format 2023-08-19 19:34:18 -07:00
views types/views: add SliceView.All iterator (#13536) 2024-09-20 13:55:33 -07:00