Commit Graph

236 Commits

Author SHA1 Message Date
Matt Joiner d4e30f84f2 Rename some of the unexported file storage types 2016-09-12 17:26:39 +10:00
Matt Joiner b5ed171ac5 Create zero-length files in the file storage when the torrent storage is opened
Fixes #111.
2016-09-12 17:01:00 +10:00
Matt Joiner 1e919dd6b1 Rework storage interfaces to make them simpler to implement
This allows lots of behaviour to be baked into the new Client, Torrent and Piece wrappers, rather than duplicating (badly) them in all the backend implementations.
2016-09-02 15:10:57 +10:00
Matt Joiner db3be3441f storage.boltDB: Some comments, and use global completedValue 2016-08-31 21:00:44 +10:00
Matt Joiner c121615fab Extract chunkSize as a const 2016-08-31 20:11:04 +10:00
Matt Joiner e51cb07f6e Uncomment the error handling in storage.boltDBPiece.ReadAt 2016-08-31 18:02:45 +10:00
Matt Joiner 3c2db92a83 Add boltdb storage backend 2016-08-31 17:48:50 +10:00
Matt Joiner 2a1cef7c9e Remove the InfoEx type, and don't generate its infohash on the fly
Fixes #106.
2016-08-26 20:29:05 +10:00
Matt Joiner a1ba463750 Fix issue #97 2016-07-12 16:45:22 +10:00
Matt Joiner f055abe2fc Fix issue #96
In the native file-based storage, mark pieces incomplete if the necessary file data is missing, or there's a read error on a piece.
2016-07-10 23:03:59 +10:00
Matt Joiner 9c837a03d0 Move issue #95 tests into their own file 2016-07-09 00:36:53 +10:00
Matt Joiner 11a53fa732 Fix issue #95: Closing torrent storage also closed client storage for some storage types 2016-07-09 00:36:32 +10:00
Matt Joiner 408686b440 Add a test for issue #95 2016-07-09 00:28:12 +10:00
Matt Joiner cd1c1a9fed mmap storage: Close pieceCompletion on Close 2016-07-06 14:02:15 +10:00
Matt Joiner dbb3c25b1a storage: Move pieceCompletion interface into correct file 2016-07-06 13:38:16 +10:00
Matt Joiner ce0a3d56f1 storage: Remove debug log 2016-06-20 18:21:16 +10:00
Matt Joiner d80d0db9d5 storage: Also use completion DB in mmap implementation 2016-06-20 18:20:59 +10:00
Matt Joiner cee200a5a2 Add piece completion storage
Toward fixing https://github.com/anacrolix/torrent/issues/50.
2016-06-20 17:51:05 +10:00
Matt Joiner b75e85d187 storage.MMapTorrent should not be exported 2016-06-20 16:11:43 +10:00
Matt Joiner 869fb25cbc Changes to missinggo resource package 2016-05-16 22:32:00 +10:00
Matt Joiner c1e0d37266 Rename some storage funcs 2016-05-16 22:02:03 +10:00
Matt Joiner 02ea8b1081 Rename storage.I->Client 2016-05-16 21:50:43 +10:00
Matt Joiner 61e43f4261 Add piece-per-resource storage 2016-05-16 18:44:58 +10:00
Matt Joiner 0aabd37e6e Add some comments to file storage 2016-05-09 15:46:48 +10:00
Seth Hoenig 9f4bf70e17 refactor struct identifiers to follow conventional go names 2016-04-18 23:11:11 -05:00
Matt Joiner 86e34977de piece-file storage: Use the receiver-local FileStore field
Because aliens, mainly.
2016-04-14 17:28:30 +10:00
Matt Joiner b80bb6393a Use metainfo.Hash for piece and info hashes 2016-04-04 13:01:31 +10:00
Matt Joiner e3a7433154 piece file storage: Don't write to completed pieces 2016-04-03 16:37:50 +10:00
Matt Joiner f19e8b32aa storage: Don't read bad completed piece files 2016-04-03 16:33:31 +10:00
Matt Joiner 7638d678a8 storage: Fix io.EOF on short piece files 2016-04-02 16:57:22 +11:00
Matt Joiner 7790e72832 Move storage.FileStore interface to missinggo 2016-03-30 19:12:33 +11:00
Matt Joiner baa8c1aed2 Few fixes for downstream projects 2016-03-29 12:13:03 +11:00
Matt Joiner ee22446440 Reimplement piece storage 2016-03-29 11:14:34 +11:00
Matt Joiner a5b54f21a1 Make opening a torrent in storage an explicit method
This is storage types where opening can fail, like mmap
2016-03-28 22:40:29 +11:00
Matt Joiner 775cf53809 Get mmap storage working 2016-03-28 21:57:04 +11:00
Matt Joiner b97b50aca9 New storage interface 2016-03-28 20:38:30 +11:00