Use simple 16-bit integer for persistent keepalive

Races for this aren't a huge problem.
This commit is contained in:
Jason A. Donenfeld
2018-04-18 07:24:33 +02:00
parent 099219be2a
commit eb6728400b
3 changed files with 8 additions and 11 deletions

View File

@@ -105,7 +105,7 @@ func (peer *Peer) TimerAnyAuthenticatedPacketReceived() {
* Push persistent keep-alive into the future
*/
func (peer *Peer) TimerAnyAuthenticatedPacketTraversal() {
interval := atomic.LoadUint64(&peer.persistentKeepaliveInterval)
interval := peer.persistentKeepaliveInterval
if interval > 0 {
duration := time.Duration(interval) * time.Second
peer.timer.keepalivePersistent.Reset(duration)
@@ -199,7 +199,7 @@ func (peer *Peer) RoutineTimerHandler() {
peer.timer.handshakeNew.Stop()
peer.timer.zeroAllKeys.Stop()
interval := atomic.LoadUint64(&peer.persistentKeepaliveInterval)
interval := peer.persistentKeepaliveInterval
if interval > 0 {
duration := time.Duration(interval) * time.Second
peer.timer.keepalivePersistent.Reset(duration)
@@ -225,7 +225,7 @@ func (peer *Peer) RoutineTimerHandler() {
case <-peer.timer.keepalivePersistent.Wait():
interval := atomic.LoadUint64(&peer.persistentKeepaliveInterval)
interval := peer.persistentKeepaliveInterval
if interval > 0 {
logDebug.Println(peer.String(), ": Send keep-alive (persistent)")
peer.timer.keepalivePassive.Stop()