From 57170cdaca04ad8debb0e214a7af2e32bb460446 Mon Sep 17 00:00:00 2001 From: Viktor Liu Date: Mon, 29 Jun 2026 17:12:36 +0200 Subject: [PATCH] Open peer connection directly in PeerConnOpen --- client/internal/peerstore/store.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/client/internal/peerstore/store.go b/client/internal/peerstore/store.go index 9c808e495..112caa101 100644 --- a/client/internal/peerstore/store.go +++ b/client/internal/peerstore/store.go @@ -81,7 +81,16 @@ func (s *Store) PeerConn(pubKey string) (*peer.Conn, bool) { } func (s *Store) PeerConnOpen(ctx context.Context, pubKey string) { - s.PeerConnOpenWithFirstPacket(ctx, pubKey, nil) + s.peerConnsMu.RLock() + defer s.peerConnsMu.RUnlock() + + p, ok := s.peerConns[pubKey] + if !ok { + return + } + if err := p.Open(ctx); err != nil { + p.Log.Errorf("failed to open peer connection: %v", err) + } } // PeerConnOpenWithFirstPacket opens the peer connection and stashes a first packet to be @@ -94,7 +103,6 @@ func (s *Store) PeerConnOpenWithFirstPacket(ctx context.Context, pubKey string, if !ok { return } - // this can be blocked because of the connect open limiter semaphore if err := p.OpenWithFirstPacket(ctx, firstPacket); err != nil { p.Log.Errorf("failed to open peer connection: %v", err) }