From 69202987709745902d80b11b83ae12386432267a Mon Sep 17 00:00:00 2001 From: Craig Campbell Date: Sat, 4 Jan 2020 21:12:02 -0500 Subject: [PATCH] Add Piece.UpdateCompletion() method This should be all that is needed to handle pieces that are evicted or removed from storage if you are using a storage implementation such as an LRU cache. --- piece.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/piece.go b/piece.go index d2211aa0..f112e0bd 100644 --- a/piece.go +++ b/piece.go @@ -239,6 +239,12 @@ func (p *Piece) uncachedPriority() (ret piecePriority) { return } +func (p *Piece) UpdateCompletion() { + p.t.cl.lock() + defer p.t.cl.unlock() + p.t.updatePieceCompletion(p.index) +} + func (p *Piece) completion() (ret storage.Completion) { ret.Complete = p.t.pieceComplete(p.index) ret.Ok = p.storageCompletionOk -- 2.50.0