2
0
mirror of synced 2025-02-24 14:48:27 +00:00

30 Commits

Author SHA1 Message Date
Matt Joiner
4f03dd3fc7 httpfile.Open can now return an error 2015-10-30 22:21:48 +11:00
Matt Joiner
db3ec698e9 Some missing io.EOFs 2015-10-23 12:45:51 +11:00
Matt Joiner
4c4eae20a2 data/pieceStore: Expose flags in Open method 2015-10-23 12:45:11 +11:00
Matt Joiner
c7cb1009a5 Fix #33. 2015-10-20 17:53:12 +11:00
Matt Joiner
b0b5794890 Create a pieceStore interface, and merge in my httpfile backend, and replace data/blob
data/blob was aging, and had severe performance problems. It's now possible to use missinggo/filecache as a data backend to pieceStore which is better tested and performs excellently.
2015-10-04 00:22:46 +10:00
Matt Joiner
126447260f Fix import cycle 2015-10-02 00:16:25 +10:00
Matt Joiner
b7a8bb7570 Simplify the torrent Data interface
None of the methods are optional anymore. Removed the nasty wrappers for some data implementations. Moved data.Data back into the main torrent package. Should make it much easier to understand for people implementing their own Data implementations.
2015-10-02 00:09:04 +10:00
Matt Joiner
afece1f67f Match the names used in other blob implementations 2015-10-01 15:41:30 +10:00
Matt Joiner
50ce70c47a Fix locking in data/blob 2015-08-03 14:24:59 +10:00
Matt Joiner
665e3c72fc AccessTime helper moved to missinggo 2015-06-01 18:26:32 +10:00
Matt Joiner
d87ae4f6a9 data/blob: Tidy error handling in WriteSectionTo 2015-05-20 22:21:20 +10:00
Matt Joiner
dfada8514e Fix panic on unexpected files in the blob store "completed" directory 2015-05-16 10:52:35 +10:00
Matt Joiner
c5208569ca Apply sortimports 2015-04-30 00:31:34 +10:00
Matt Joiner
526d9d738e Rewrite imports to local bencode and metainfo 2015-04-27 14:55:01 +10:00
Matt Joiner
28b299e7c8 Rework the Torrent Reader interface, to allow reader options, and add "responsive" as one such option
Had several weeks of testing. Removes a lot of the "helper" reading methods, but this was necessary to allow per-Torrent reading options.
2015-04-14 23:59:41 +10:00
Matt Joiner
1ce84f664e Fix a few minor data races 2015-03-30 23:10:37 +11:00
Matt Joiner
3aa78763aa Use rogpeppe's sortimports to fix this goimports ordering madness 2015-03-26 17:18:08 +11:00
Matt Joiner
842a32ae0c Rewrite import paths for migration from Bitbucket 2015-03-20 16:37:44 +11:00
Matt Joiner
a451bc7e6d Handle data going missing 2015-03-18 18:35:22 +11:00
Matt Joiner
28455fb817 Speed up stuff relating to checking piece completion 2015-03-18 18:34:35 +11:00
Matt Joiner
8d58fc28f6 data/blob: Change store eviction to LRU, from random replacement
It works *much* better for torrenting with a readahead window. When we want to
avoid downloading, we want to avoid downloading lots of dispersed pieces.
2015-03-18 18:12:46 +11:00
Matt Joiner
e6fbde0dc6 Rework piece completion 2015-03-11 02:41:21 +11:00
Matt Joiner
ad6ac3f2cd More cleaning of public interface 2015-03-08 17:28:14 +11:00
Matt Joiner
3e753bb8ad Change up the data storage interfaces a bit 2015-03-07 17:11:45 +11:00
Matt Joiner
63361b7b47 Extraneous import 2015-03-01 15:19:35 +11:00
Matt Joiner
4eb70e0673 Support opening handles to Torrent and File 2015-03-01 14:32:54 +11:00
Matt Joiner
a2d69b4931 Make blob data stateful 2015-02-27 12:45:55 +11:00
Matt Joiner
8f744300cc Add piece blob torrent.Data storage, and move testutil to internal/, add basic transfer test for Client and blob 2015-02-27 01:46:02 +11:00
Matt Joiner
0eb418360b Allow configuring Client torrent data opener, config dir, disabling metainfo cache, and prune with a timer instead of goroutine 2015-02-25 14:48:39 +11:00
Matt Joiner
4b1b009049 Encapsulate torrent data, and provide os.File and mmap-based implementations 2015-02-10 00:14:52 +11:00