tailscale/syncs
Joe Tsai d209b032ab
syncs: add Map.WithLock to allow mutations to the underlying map (#8101)
Some operations cannot be implemented with the prior API:
* Iterating over the map and deleting keys
* Iterating over the map and replacing items
* Calling APIs that expect a native Go map

Add a Map.WithLock method that acquires a write-lock on the map
and then calls a user-provided closure with the underlying Go map.
This allows users to interact with the Map as a regular Go map,
but with the gaurantees that it is concurrent safe.

Updates tailscale/corp#9115

Signed-off-by: Joe Tsai <joetsai@digital-static.net>
2024-07-11 16:16:30 -07:00
..
locked.go
locked_test.go
pool.go syncs: add generic Pool (#12759) 2024-07-10 09:39:52 -07:00
pool_test.go syncs: add generic Pool (#12759) 2024-07-10 09:39:52 -07:00
shardedmap.go
shardedmap_test.go
syncs.go syncs: add Map.WithLock to allow mutations to the underlying map (#8101) 2024-07-11 16:16:30 -07:00
syncs_test.go syncs: add Map.WithLock to allow mutations to the underlying map (#8101) 2024-07-11 16:16:30 -07:00