You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Nick Khyl
da9965d51c
cmd/viewer,types/views,various: avoid allocations in pointer field getters whenever possible
...
In this PR, we add a generic views.ValuePointer type that can be used as a view for pointers
to basic types and struct types that do not require deep cloning and do not have corresponding
view types. Its Get/GetOk methods return stack-allocated shallow copies of the underlying value.
We then update the cmd/viewer codegen to produce getters that return either concrete views
when available or ValuePointer views when not, for pointer fields in generated view types.
This allows us to avoid unnecessary allocations compared to returning pointers to newly
allocated shallow copies.
Updates #14570
Signed-off-by: Nick Khyl <nickk@tailscale.com>
1 year ago
..
appctype
appc,ipn/ipnlocal,types/appctype: implement control provided routes
2 years ago
bools
types/bools: add IfElse ( #14272 )
1 year ago
dnstype
cli: add `tailscale dns query` ( #13368 )
2 years ago
empty
all: update copyright and license headers
3 years ago
flagtype
all: update copyright and license headers
3 years ago
iox
types/iox: add function types for Reader and Writer ( #14366 )
1 year ago
ipproto
all: use Go 1.22 range-over-int
2 years ago
key
types/key: use tlpub: in error message ( #13707 )
2 years ago
lazy
util/uniq,types/lazy,*: delete code that's now in Go std
1 year ago
logger
all: use Go 1.22 range-over-int
2 years ago
logid
types/logid: add Add method ( #12478 )
2 years ago
netlogtype
all: update copyright and license headers
3 years ago
netmap
all: use iterators in more places instead of Range funcs
1 year ago
nettype
wgengine/magicsock, types/nettype, etc: finish ReadFromUDPAddrPort netip migration
3 years ago
opt
types/opt: fix test to be agnostic to omitzero support ( #14401 )
1 year ago
persist
types/persist: remove unused field Persist.Provider
2 years ago
prefs
cmd/viewer,types/views,various: avoid allocations in pointer field getters whenever possible
1 year ago
preftype
cmd/tailscaled,*: add start of configuration file support
3 years ago
ptr
all: update copyright and license headers
3 years ago
result
types/result, util/lineiter: add package for a result type, use it
1 year ago
structs
all: update copyright and license headers
3 years ago
tkatype
types/tkatype: add test for MarshaledSignature's JSON format
3 years ago
views
cmd/viewer,types/views,various: avoid allocations in pointer field getters whenever possible
1 year ago