Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | device: use container/list instead of open coding it | Jason A. Donenfeld | 2021-02-10 | 1 | -27/+14 |
| | | | | | | | This linked list implementation is awful, but maybe Go 2 will help eventually, and at least we're not open coding the hlist any more. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | ||||
* | global: bump copyright | Jason A. Donenfeld | 2021-01-28 | 1 | -1/+1 |
| | | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | ||||
* | device: use linked list for per-peer allowed-ip traversal | Jason A. Donenfeld | 2021-01-27 | 1 | -40/+57 |
| | | | | | | | | | | | | | | | | | | | | | | | This makes the IpcGet method much faster. We also refactor the traversal API to use a callback so that we don't need to allocate at all. Avoiding allocations we do self-masking on insertion, which in turn means that split intermediate nodes require a copy of the bits. benchmark old ns/op new ns/op delta BenchmarkUAPIGet-16 3243 2659 -18.01% benchmark old allocs new allocs delta BenchmarkUAPIGet-16 35 30 -14.29% benchmark old bytes new bytes delta BenchmarkUAPIGet-16 1218 737 -39.49% This benchmark is good, though it's only for a pair of peers, each with only one allowedips. As this grows, the delta expands considerably. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | ||||
* | global: update header comments and modules | Jason A. Donenfeld | 2020-05-02 | 1 | -1/+1 |
| | | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> | ||||
* | global: begin modularization | Jason A. Donenfeld | 2019-03-03 | 1 | -0/+251 |