From 77ad931cc313cfbe016e328a3b1a49841a51cfdd Mon Sep 17 00:00:00 2001 From: mcrakhman Date: Wed, 12 Apr 2023 19:16:48 +0200 Subject: [PATCH] Change add to tryadd in dial --- net/streampool/sendpool.go | 4 ++++ net/streampool/streampool.go | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/net/streampool/sendpool.go b/net/streampool/sendpool.go index 5bf075e7..f0f36001 100644 --- a/net/streampool/sendpool.go +++ b/net/streampool/sendpool.go @@ -28,6 +28,10 @@ func (ss *execPool) Add(ctx context.Context, f ...func()) (err error) { return ss.batch.Add(ctx, f...) } +func (ss *execPool) TryAdd(f ...func()) (err error) { + return ss.batch.TryAdd(f...) +} + func (ss *execPool) sendLoop() { for { f, err := ss.batch.WaitOne(context.Background()) diff --git a/net/streampool/streampool.go b/net/streampool/streampool.go index 01527d14..84108371 100644 --- a/net/streampool/streampool.go +++ b/net/streampool/streampool.go @@ -117,7 +117,7 @@ func (s *streamPool) Send(ctx context.Context, msg drpc.Message, peerGetter Peer } } } - return s.dial.Add(ctx, func() { + return s.dial.TryAdd(func() { peers, dialErr := peerGetter(ctx) if dialErr != nil { log.InfoCtx(ctx, "can't get peers", zap.Error(dialErr))