device: add SendKeepalivesToPeersWithCurrentKeypair for handover
This commit is contained in:
parent
d0ab883ada
commit
d9f995209c
|
@ -396,3 +396,20 @@ func (device *Device) Close() {
|
||||||
func (device *Device) Wait() chan struct{} {
|
func (device *Device) Wait() chan struct{} {
|
||||||
return device.signals.stop
|
return device.signals.stop
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (device *Device) SendKeepalivesToPeersWithCurrentKeypair() {
|
||||||
|
if device.isClosed.Get() {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
device.peers.RLock()
|
||||||
|
for _, peer := range device.peers.keyMap {
|
||||||
|
peer.keypairs.RLock()
|
||||||
|
sendKeepalive := peer.keypairs.current != nil && !peer.keypairs.current.created.Add(RejectAfterTime).Before(time.Now())
|
||||||
|
peer.keypairs.RUnlock()
|
||||||
|
if sendKeepalive {
|
||||||
|
peer.SendKeepalive()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
device.peers.RUnlock()
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue