]> Sergey Matveev's repositories - btrtrc.git/blobdiff - storage/mmap.go
Do torrent storage flush on piece completion (#755)
[btrtrc.git] / storage / mmap.go
index 300d863510152a065a512dd3ee575cc1ad84566c..a9d922ac20146b2fa11db8c4ea2497f210e7d73a 100644 (file)
@@ -41,7 +41,7 @@ func (s *mmapClientImpl) OpenTorrent(info *metainfo.Info, infoHash metainfo.Hash
                span:     span,
                pc:       s.pc,
        }
-       return TorrentImpl{Piece: t.Piece, Close: t.Close}, err
+       return TorrentImpl{Piece: t.Piece, Close: t.Close, Flush: t.Flush}, err
 }
 
 func (s *mmapClientImpl) Close() error {
@@ -71,6 +71,13 @@ func (ts *mmapTorrentStorage) Close() error {
        }
        return nil
 }
+func (ts *mmapTorrentStorage) Flush() error {
+       errs := ts.span.Flush()
+       if len(errs) > 0 {
+               return errs[0]
+       }
+       return nil
+}
 
 type mmapStoragePiece struct {
        pc PieceCompletionGetSetter