2
0
mirror of synced 2025-02-24 06:38:14 +00:00

27 Commits

Author SHA1 Message Date
Matt Joiner
c855c7a366 Differentiate between storage.ClientImpl{,Closer} 2020-02-21 14:12:44 +11:00
Matt Joiner
e3420e0b60 Don't close shared client piece completion in mmap storage
Fixes #335.
2019-10-11 17:37:22 +11:00
Matt Joiner
cecd83f966 Don't ignore error getting mmap piece completion 2019-10-11 17:36:46 +11:00
Matt Joiner
cb1bf0f413 goimports -local 2019-08-21 20:58:40 +10:00
Matt Joiner
fc4fab91f5 Switch to goimports import sorting
Used to use sortimports, but it's old, and goimports seems to have an opinion now.
2018-11-02 23:12:01 +11:00
Matt Joiner
6441e98f62 Implement go vet recommendations 2018-02-02 19:28:09 +11:00
Matt Joiner
57fec52371 mmap_span: Synchronize access to memory maps to avoid race when unmapping 2018-01-06 16:39:52 +11:00
Matt Joiner
6bcf2a58b2 storage: Rename mmapStorage->mmapClientImpl 2018-01-06 16:38:41 +11:00
Matt Joiner
520da249a1 Test that mmap size doesn't exceed system memory address width
Should fix http://paste.ubuntu.com/26074620/
2017-12-02 10:26:09 +11:00
Matt Joiner
dd083a4e11 Track completion known to implementation state
Addresses #193
2017-10-12 16:09:32 +11:00
Matt Joiner
9e6cdff175 storage: Don't add empty mmaps to the mmap span 2017-09-18 13:41:19 +10:00
Matt Joiner
19adb2cac3 Improve mmap storage error messages
Trying to map unusual Info's gave unhelpful messages.
2017-09-18 12:19:34 +10:00
mlmhl
edcb9deb95 bug fix: initial infoHash for mmapStoragePiece 2017-07-10 19:33:39 +08:00
mlmhl
d8c7f37d2b make pieceCompletion configurable 2017-05-22 10:23:37 +08:00
Matt Joiner
5c5a26afed Add bolt piece completion DB
This means it can be persistent without needing cgo. Fixes issues #115 and #124.
2016-10-25 19:07:26 +11: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
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
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
cd1c1a9fed mmap storage: Close pieceCompletion on Close 2016-07-06 14:02:15 +10:00
Matt Joiner
d80d0db9d5 storage: Also use completion DB in mmap implementation 2016-06-20 18:20:59 +10:00
Matt Joiner
b75e85d187 storage.MMapTorrent should not be exported 2016-06-20 16:11:43 +10:00
Matt Joiner
02ea8b1081 Rename storage.I->Client 2016-05-16 21:50:43 +10:00
Seth Hoenig
9f4bf70e17 refactor struct identifiers to follow conventional go names 2016-04-18 23:11:11 -05:00
Matt Joiner
b80bb6393a Use metainfo.Hash for piece and info hashes 2016-04-04 13:01:31 +10: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