From: Craig Campbell Date: Sun, 5 Jan 2020 02:12:02 +0000 (-0500) Subject: Add Piece.UpdateCompletion() method X-Git-Tag: v1.16.0~91 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=69202987709745902d80b11b83ae12386432267a;p=btrtrc.git 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. --- 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