tailscale/wgengine
Nick Khyl da9965d51c
Some checks are pending
checklocks / checklocks (push) Waiting to run
CodeQL / Analyze (go) (push) Waiting to run
Dockerfile build / deploy (push) Waiting to run
CI / race-root-integration (1/4) (push) Waiting to run
CI / race-root-integration (2/4) (push) Waiting to run
CI / race-root-integration (3/4) (push) Waiting to run
CI / race-root-integration (4/4) (push) Waiting to run
CI / test (-coverprofile=/tmp/coverage.out, amd64) (push) Waiting to run
CI / test (-race, amd64, 1/3) (push) Waiting to run
CI / test (-race, amd64, 2/3) (push) Waiting to run
CI / test (-race, amd64, 3/3) (push) Waiting to run
CI / test (386) (push) Waiting to run
CI / windows (push) Waiting to run
CI / privileged (push) Waiting to run
CI / vm (push) Waiting to run
CI / race-build (push) Waiting to run
CI / cross (386, linux) (push) Waiting to run
CI / cross (amd64, darwin) (push) Waiting to run
CI / cross (amd64, freebsd) (push) Waiting to run
CI / cross (amd64, openbsd) (push) Waiting to run
CI / cross (amd64, windows) (push) Waiting to run
CI / cross (arm, 5, linux) (push) Waiting to run
CI / cross (arm, 7, linux) (push) Waiting to run
CI / cross (arm64, darwin) (push) Waiting to run
CI / cross (arm64, linux) (push) Waiting to run
CI / cross (arm64, windows) (push) Waiting to run
CI / cross (loong64, linux) (push) Waiting to run
CI / ios (push) Waiting to run
CI / crossmin (amd64, illumos) (push) Waiting to run
CI / crossmin (amd64, plan9) (push) Waiting to run
CI / crossmin (amd64, solaris) (push) Waiting to run
CI / crossmin (ppc64, aix) (push) Waiting to run
CI / android (push) Waiting to run
CI / wasm (push) Waiting to run
CI / tailscale_go (push) Waiting to run
CI / fuzz (push) Waiting to run
CI / depaware (push) Waiting to run
CI / go_generate (push) Waiting to run
CI / go_mod_tidy (push) Waiting to run
CI / licenses (push) Waiting to run
CI / staticcheck (386, windows) (push) Waiting to run
CI / staticcheck (amd64, darwin) (push) Waiting to run
CI / staticcheck (amd64, linux) (push) Waiting to run
CI / staticcheck (amd64, windows) (push) Waiting to run
CI / notify_slack (push) Blocked by required conditions
CI / check_mergeability (push) Blocked by required conditions
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>
2025-01-14 09:37:10 -06:00
..
bench ipn/ipnlocal, all: plumb health trackers in tests 2024-05-07 22:22:10 -07:00
capture wgengine/capture: fix v6 field typo in wireshark dissector 2024-08-03 14:56:17 -07:00
filter Fix various linting, vet & static check issues 2025-01-04 15:11:10 -08:00
magicsock util/uniq,types/lazy,*: delete code that's now in Go std 2025-01-12 19:49:02 -08:00
netlog wgengine: add exit destination logging enable for wgengine logger (#11952) 2024-05-02 13:55:05 -04:00
netstack Fix various linting, vet & static check issues 2025-01-04 15:11:10 -08:00
router wgengine/router: refactor udm-pro into broader ubnt support 2025-01-03 13:06:16 -05:00
wgcfg cmd/viewer,types/views,various: avoid allocations in pointer field getters whenever possible 2025-01-14 09:37:10 -06:00
wgint wgengine{,/wgint}: add wgint.Peer wrapper type, add to wgengine.Engine 2024-02-28 09:50:18 -08:00
wglog all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
winnet all: add test for package comments, fix, add comments as needed 2024-07-10 09:57:00 -07:00
mem_ios.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
pendopen.go cmd/viewer,types/views,various: avoid allocations in pointer field getters whenever possible 2025-01-14 09:37:10 -06:00
userspace_ext_test.go util/usermetrics: make usermetrics non-global 2024-09-25 15:57:00 +02:00
userspace_test.go util/usermetrics: make usermetrics non-global 2024-09-25 15:57:00 +02:00
userspace.go all: use iterators over slice views more 2024-11-11 13:22:34 -08:00
watchdog_js.go all: update copyright and license headers 2023-01-27 15:36:29 -08:00
watchdog_test.go util/usermetrics: make usermetrics non-global 2024-09-25 15:57:00 +02:00
watchdog.go ipn/ipnlocal,net/tstun,wgengine: create and plumb jailed packet filter 2024-05-06 15:32:22 -07:00
wgengine.go all: add test for package comments, fix, add comments as needed 2024-07-10 09:57:00 -07:00