From 3df7d6183629d854fbd0fe9c51dedca3ea411352 Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Mon, 8 Feb 2016 16:09:12 +1100 Subject: [PATCH] Reintroduce 64 outbound request cap --- connection.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/connection.go b/connection.go index 2340e5e2..a3e6041a 100644 --- a/connection.go +++ b/connection.go @@ -299,9 +299,18 @@ func (c *connection) requestedMetadataPiece(index int) bool { return index < len(c.metadataRequests) && c.metadataRequests[index] } +// The actual value to use as the maximum outbound requests. +func (c *connection) nominalMaxRequests() (ret int) { + ret = c.PeerMaxRequests + if ret > 64 { + ret = 64 + } + return +} + // Returns true if more requests can be sent. func (c *connection) Request(chunk request) bool { - if len(c.Requests) >= c.PeerMaxRequests { + if len(c.Requests) >= c.nominalMaxRequests() { return false } if !c.PeerHasPiece(int(chunk.Index)) { -- 2.48.1