diff --git a/client.go b/client.go index 1831e2c5..447958e6 100644 --- a/client.go +++ b/client.go @@ -1147,26 +1147,6 @@ func (me *Client) sendInitialMessages(conn *connection, torrent *torrent) { } } -func (me *Client) peerGotPiece(t *torrent, c *connection, piece int) error { - if !c.peerHasAll { - if t.haveInfo() { - if c.PeerPieces == nil { - c.PeerPieces = make([]bool, t.numPieces()) - } - } else { - for piece >= len(c.PeerPieces) { - c.PeerPieces = append(c.PeerPieces, false) - } - } - if piece >= len(c.PeerPieces) { - return errors.New("peer got out of range piece index") - } - c.PeerPieces[piece] = true - } - c.updatePiecePriority(piece) - return nil -} - func (me *Client) peerUnchoked(torrent *torrent, conn *connection) { conn.updateRequests() } diff --git a/connection.go b/connection.go index 1323acfa..1db26869 100644 --- a/connection.go +++ b/connection.go @@ -625,3 +625,23 @@ func (c *connection) discardPieceInclination() { c.t.putPieceInclination(c.pieceInclination) c.pieceInclination = nil } + +func (me *Client) peerGotPiece(t *torrent, c *connection, piece int) error { + if !c.peerHasAll { + if t.haveInfo() { + if c.PeerPieces == nil { + c.PeerPieces = make([]bool, t.numPieces()) + } + } else { + for piece >= len(c.PeerPieces) { + c.PeerPieces = append(c.PeerPieces, false) + } + } + if piece >= len(c.PeerPieces) { + return errors.New("peer got out of range piece index") + } + c.PeerPieces[piece] = true + } + c.updatePiecePriority(piece) + return nil +}