diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-10-25 17:01:18 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-10-31 17:25:23 +0100 |
commit | 78e079c46c6ca0481ec77705db9ae4dec117be4e (patch) | |
tree | 6177dc8fbbec8755a8e2c32566f7922df7dedd5e /src/device.h | |
parent | peer: get rid of peer_for_each magic (diff) | |
download | wireguard-monolithic-historical-78e079c46c6ca0481ec77705db9ae4dec117be4e.tar.xz wireguard-monolithic-historical-78e079c46c6ca0481ec77705db9ae4dec117be4e.zip |
peer: store total number of peers instead of iterating
This is faster, since it means adding a new peer is O(1) instead of
O(n). It's also safe to do because we're holding the device_update_lock
on both the ++ and the --.
Diffstat (limited to 'src/device.h')
-rw-r--r-- | src/device.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/device.h b/src/device.h index 4932477..a74f58b 100644 --- a/src/device.h +++ b/src/device.h @@ -49,7 +49,7 @@ struct wireguard_device { struct routing_table peer_routing_table; struct mutex device_update_lock, socket_update_lock; struct list_head device_list, peer_list; - unsigned int device_update_gen; + unsigned int num_peers, device_update_gen; u32 fwmark; u16 incoming_port; }; |