pendingRequests map[request]int
}
+func (t *Torrent) tickleReaders() {
+ t.cl.event.Broadcast()
+}
+
// Returns a channel that is closed when the Torrent is closed.
func (t *Torrent) Closed() <-chan struct{} {
return t.closed.LockedChan(&t.cl.mu)
func (t *Torrent) close() (err error) {
t.closed.Set()
+ t.tickleReaders()
if t.storage != nil {
t.storageLock.Lock()
t.storage.Close()
log.Fmsg("piece %d completion: %v", piece, pcu.Ok).AddValue(debugLogValue).Log(t.logger)
p.storageCompletionOk = pcu.Ok
t.completedPieces.Set(piece, pcu.Complete)
+ t.tickleReaders()
// log.Printf("piece %d uncached completion: %v", piece, pcu.Complete)
// log.Printf("piece %d changed: %v", piece, changed)
if changed {