Commit Graph

1113 Commits

Author SHA1 Message Date
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 446e11b1fc Missing error checks in test 2016-03-30 19:16:40 +11:00
Matt Joiner c0e060de63 Suppress logging noise in tests 2016-03-30 19:12:57 +11:00
Matt Joiner 7790e72832 Move storage.FileStore interface to missinggo 2016-03-30 19:12:33 +11:00
Matt Joiner 5856b91af0 Fix missinggo import 2016-03-30 19:11:55 +11:00
Matt Joiner baa8c1aed2 Few fixes for downstream projects 2016-03-29 12:13:03 +11:00
Matt Joiner 233f51d7db Remove all the old data store packages 2016-03-29 11:14:54 +11:00
Matt Joiner ee22446440 Reimplement piece storage 2016-03-29 11:14:34 +11:00
Matt Joiner 0a3a5d6ae0 Finish fixing tests 2016-03-29 00:24:00 +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
Matt Joiner 4986c61138 data/file: Rewrite ReadAt 2016-03-26 20:45:31 +11:00
Matt Joiner 729723d62d data/file: Add a test checking for io.ErrUnexpectedEOF on short read 2016-03-26 18:30:30 +11:00
Matt Joiner ca3529bd9a Improve doc comments on Data 2016-03-26 18:27:28 +11:00
Matt Joiner ac184c8f52 Tidy up a test that fails with the wrong reasons 2016-03-24 23:52:38 +11:00
Matt Joiner bb04cb8843 Tidy up bytesLeft calculations
This should fix a bug where completion is shown as negative in WriteStatus
2016-03-22 13:11:36 +11:00
Matt Joiner 01bef851ed Log connection errors when debug mode 2016-03-22 13:10:18 +11:00
Matt Joiner 0c877a9d94 Add a test for bad have messages
The reason for the cleanup to peer have-related messages in the first place.
2016-03-22 13:09:02 +11:00
Matt Joiner bfd0b86441 Tidy up the peer have{,all,none},bitfield handling 2016-03-22 12:07:03 +11:00
Matt Joiner e2ffcd008b Add t.bytesLeftAnnounce
Now it's safe to remove tracker specific bytesLeft contract
2016-03-22 09:06:48 +11:00
Matt Joiner 782589e2b9 Client.WriteStatus: Raise the precision of the completion percentage 2016-03-22 08:33:08 +11:00
Matt Joiner 99109e636b Use missinggo.AddrPort directly 2016-03-21 16:02:36 +11:00
Matt Joiner 99fa0c26aa Make peerGotPiece a method on connection 2016-03-21 14:19:51 +11:00
Matt Joiner 1508e02935 Move peerGotPiece 2016-03-21 14:17:15 +11:00
Matt Joiner 125c864a8c Add some File method comments 2016-03-19 17:40:30 +11:00
Matt Joiner 409d3695a6 Favour earlier pieces slightly, helps with in-order downloads 2016-03-19 17:40:18 +11:00
Matt Joiner 4c3fffa097 Fix locks on Reader.SetReadahead 2016-03-19 17:39:56 +11:00
Matt Joiner b6cd456779 Use new missinggo.SplitHostMaybePort implementation 2016-03-15 21:32:47 +11:00
Matt Joiner 0d5502932d Track accepted connections 2016-03-06 17:26:04 +11:00
Matt Joiner f436c9c955 Use missinggo.Event to track Client closed 2016-03-05 19:36:21 +11:00
Matt Joiner c175fab5a6 Fix a UTP Conn leak, on unencrypted followup dial attempts
I would guess that TCP ones were cleaned up by GC.
2016-03-02 23:27:46 +11:00
Matt Joiner aed2b6b3cb Add Reader.Torrent() 2016-03-02 23:26:46 +11:00
Matt Joiner 67aea29ba9 Extend the timeout, drone.io is slow? 2016-02-26 22:18:08 +11:00
Matt Joiner e33006a419 Ignore the corner case when a piece is dropped from storage 2016-02-26 22:12:13 +11:00
Matt Joiner 811b460f1d dht: Use missinggo.Event for closing 2016-02-26 22:11:48 +11:00
Matt Joiner a8ad7dfd0e Add test checking that cancel works 2016-02-26 22:10:29 +11:00
Matt Joiner 5cc8d8a652 Catch error creating client in tests 2016-02-26 22:10:09 +11:00
Matt Joiner aa76d13ffd Fix bad DHT node in tests in constructed torrent 2016-02-24 21:57:30 +11:00
Matt Joiner 976510db60 Add DHT nodes from metainfo when added to Client 2016-02-24 21:56:50 +11:00
Matt Joiner 2fa233345e dht: Rename newDHTAddr->NewAddr, and clean up the interface 2016-02-24 02:02:33 +11:00
Matt Joiner 7b0b0f9bf9 dht: Rename dHTAddr to Addr 2016-02-24 01:50:15 +11:00
Matt Joiner 5665505dc7 Test that metainfo nodes are added to the DHT 2016-02-24 01:48:44 +11:00
Matt Joiner a04fb2ce26 metainfo: Check for error unmarshalling bad nodes contents from a metainfo 2016-02-23 23:53:39 +11:00
Matt Joiner 621ec7bac4 dht: Misc trivial improvements 2016-02-23 23:52:30 +11:00
Matt Joiner 9c7d3d4783 metainfo: Fix use of CastSlice when copying nodes 2016-02-23 22:47:41 +11:00
Matt Joiner d67379b3cb metainfo: Ensure that nodes encode correctly 2016-02-23 22:37:38 +11:00
Matt Joiner 752e884155 metainfo: Support nodes as []string or [](string, int64)
Fixes #65.
2016-02-23 22:28:23 +11:00
Matt Joiner b3a5591d14 metainfo: It looks like the "nodes" field of metainfo was never handled correctly, support []string instead of [][]string, fix tests 2016-02-23 22:04:06 +11:00