]> Sergey Matveev's repositories - btrtrc.git/commitdiff
bug fix: initial infoHash for mmapStoragePiece
authormlmhl <409107750@qq.com>
Mon, 10 Jul 2017 11:33:39 +0000 (19:33 +0800)
committermlmhl <409107750@qq.com>
Mon, 10 Jul 2017 11:33:39 +0000 (19:33 +0800)
storage/mmap.go

index bbc9ed03f3938d424ae134bc1be6972dc9ec66c1..9120c6f3388efb7f4a5486bbd7004d97094b8d93 100644 (file)
@@ -32,8 +32,9 @@ func NewMMapWithCompletion(baseDir string, completion PieceCompletion) ClientImp
 func (s *mmapStorage) OpenTorrent(info *metainfo.Info, infoHash metainfo.Hash) (t TorrentImpl, err error) {
        span, err := mMapTorrent(info, s.baseDir)
        t = &mmapTorrentStorage{
-               span: span,
-               pc:   s.pc,
+               infoHash: infoHash,
+               span:     span,
+               pc:       s.pc,
        }
        return
 }
@@ -43,14 +44,16 @@ func (s *mmapStorage) Close() error {
 }
 
 type mmapTorrentStorage struct {
-       span mmap_span.MMapSpan
-       pc   PieceCompletion
+       infoHash metainfo.Hash
+       span     mmap_span.MMapSpan
+       pc       PieceCompletion
 }
 
 func (ts *mmapTorrentStorage) Piece(p metainfo.Piece) PieceImpl {
        return mmapStoragePiece{
                pc:       ts.pc,
                p:        p,
+               ih:       ts.infoHash,
                ReaderAt: io.NewSectionReader(ts.span, p.Offset(), p.Length()),
                WriterAt: missinggo.NewSectionWriter(ts.span, p.Offset(), p.Length()),
        }