&cn._stats.ChunksReadUseful,
&cn._stats.ChunksRead,
&cn._stats.ChunksWritten,
- cn.numLocalRequests(),
+ len(cn.actualRequestState.Requests),
cn.nominalMaxRequests(),
cn.PeerMaxRequests,
len(cn.peerRequests),
// The actual value to use as the maximum outbound requests.
func (cn *Peer) nominalMaxRequests() (ret maxRequests) {
- return int(clamp(1, 2*int64(cn.maxPiecesReceivedBetweenRequestUpdates), int64(cn.PeerMaxRequests)))
+ return maxRequests(clamp(1, int64(cn.PeerMaxRequests), 128))
}
func (cn *Peer) totalExpectingTime() (ret time.Duration) {
if _, ok := cn.actualRequestState.Requests[r]; ok {
return true, nil
}
- if cn.numLocalRequests() >= cn.nominalMaxRequests() {
+ if len(cn.actualRequestState.Requests) >= cn.nominalMaxRequests() {
return true, errors.New("too many outstanding requests")
}
if cn.actualRequestState.Requests == nil {
}
func (cn *PeerConn) updateRequests() {
- cn.t.cl.tickleRequester()
+ cn.tickleWriter()
}
// Emits the indices in the Bitmaps bms in order, never repeating any index.
return !c._pieceRequestOrder.IsEmpty()
}
-func (c *Peer) numLocalRequests() int {
- return len(c.actualRequestState.Requests)
-}
-
func (c *Peer) deleteRequest(r Request) bool {
delete(c.nextRequestState.Requests, r)
if _, ok := c.actualRequestState.Requests[r]; !ok {