From 34138bb016ddf4aba0daa359c57e74aafa0dc023 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Kripalani?= Date: Thu, 31 Jan 2019 13:52:54 +0000 Subject: [PATCH] make FD limits configurable by env prop. --- limiter.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/limiter.go b/limiter.go index ef78f0e..fa9582b 100644 --- a/limiter.go +++ b/limiter.go @@ -2,6 +2,8 @@ package swarm import ( "context" + "os" + "strconv" "sync" "time" @@ -59,7 +61,13 @@ type dialLimiter struct { type dialfunc func(context.Context, peer.ID, ma.Multiaddr) (transport.Conn, error) func newDialLimiter(df dialfunc) *dialLimiter { - return newDialLimiterWithParams(df, ConcurrentFdDials, DefaultPerPeerRateLimit) + fd := ConcurrentFdDials + if env := os.Getenv("LIBP2P_SWARM_FD_LIMIT"); env != "" { + if n, err := strconv.ParseInt(env, 10, 32); err == nil { + fd = int(n) + } + } + return newDialLimiterWithParams(df, fd, DefaultPerPeerRateLimit) } func newDialLimiterWithParams(df dialfunc, fdLimit, perPeerLimit int) *dialLimiter { -- GitLab