mirror of
https://github.com/Ernous/TorrServerJellyfin.git
synced 2025-12-19 13:36:09 +05:00
Merge branch 'master' into old-engine
This commit is contained in:
@@ -83,7 +83,7 @@ func (c *Cache) Piece(m metainfo.Piece) storage.PieceImpl {
|
||||
if val, ok := c.pieces[m.Index()]; ok {
|
||||
return val
|
||||
}
|
||||
return nil
|
||||
return &PieceFake{}
|
||||
}
|
||||
|
||||
func (c *Cache) Close() error {
|
||||
|
||||
33
server/torr/storage/torrstor/piecefake.go
Normal file
33
server/torr/storage/torrstor/piecefake.go
Normal file
@@ -0,0 +1,33 @@
|
||||
package torrstor
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"github.com/anacrolix/torrent/storage"
|
||||
)
|
||||
|
||||
type PieceFake struct{}
|
||||
|
||||
func (PieceFake) ReadAt(p []byte, off int64) (n int, err error) {
|
||||
err = errors.New("fake")
|
||||
return
|
||||
}
|
||||
|
||||
func (PieceFake) WriteAt(p []byte, off int64) (n int, err error) {
|
||||
err = errors.New("fake")
|
||||
return
|
||||
}
|
||||
|
||||
func (PieceFake) MarkComplete() error {
|
||||
return errors.New("fake")
|
||||
}
|
||||
|
||||
func (PieceFake) MarkNotComplete() error {
|
||||
return errors.New("fake")
|
||||
}
|
||||
|
||||
func (PieceFake) Completion() storage.Completion {
|
||||
return storage.Completion{
|
||||
Complete: false,
|
||||
Ok: true,
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"server/torr/storage"
|
||||
|
||||
"github.com/anacrolix/torrent/metainfo"
|
||||
storage2 "github.com/anacrolix/torrent/storage"
|
||||
ts "github.com/anacrolix/torrent/storage"
|
||||
)
|
||||
|
||||
type Storage struct {
|
||||
@@ -24,17 +24,21 @@ func NewStorage(capacity int64) *Storage {
|
||||
return stor
|
||||
}
|
||||
|
||||
func (s *Storage) OpenTorrent(info *metainfo.Info, infoHash metainfo.Hash) (storage2.TorrentImpl, error) {
|
||||
func (s *Storage) OpenTorrent(info *metainfo.Info, infoHash metainfo.Hash) (ts.TorrentImpl, error) {
|
||||
capFunc := func() (int64, bool) {
|
||||
return s.capacity, true
|
||||
}
|
||||
s.mu.Lock()
|
||||
defer s.mu.Unlock()
|
||||
ch := NewCache(s.capacity, s)
|
||||
ch.Init(info, infoHash)
|
||||
s.caches[infoHash] = ch
|
||||
return ch, nil
|
||||
// return storage2.TorrentImpl{
|
||||
// Piece: ch.Piece,
|
||||
// Close: ch.Close,
|
||||
// }, nil
|
||||
// return ts.TorrentImpl{
|
||||
// Piece: ch.Piece,
|
||||
// Close: ch.Close,
|
||||
// Capacity: &capFunc,
|
||||
// }, nil
|
||||
}
|
||||
|
||||
func (s *Storage) CloseHash(hash metainfo.Hash) {
|
||||
|
||||
Reference in New Issue
Block a user