summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--device/peer.go9
1 files changed, 3 insertions, 6 deletions
diff --git a/device/peer.go b/device/peer.go
index 222c74f..40de59b 100644
--- a/device/peer.go
+++ b/device/peer.go
@@ -88,6 +88,9 @@ func (device *Device) NewPeer(pk NoisePublicKey) (*Peer, error) {
peer.cookieGenerator.Init(pk)
peer.device = device
+ peer.queue.outbound = newAutodrainingOutboundQueue(device)
+ peer.queue.inbound = newAutodrainingInboundQueue(device)
+ peer.queue.staged = make(chan *QueueOutboundElement, QueueStagedSize)
// map public key
_, ok := device.peers.keyMap[pk]
@@ -179,12 +182,6 @@ func (peer *Peer) Start() {
peer.handshake.lastSentHandshake = time.Now().Add(-(RekeyTimeout + time.Second))
peer.handshake.mutex.Unlock()
- // prepare queues (once)
- if peer.queue.outbound == nil {
- peer.queue.outbound = newAutodrainingOutboundQueue(device)
- peer.queue.inbound = newAutodrainingInboundQueue(device)
- peer.queue.staged = make(chan *QueueOutboundElement, QueueStagedSize)
- }
peer.device.queue.encryption.wg.Add(1) // keep encryption queue open for our writes
peer.timersStart()