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 |
Matt Joiner
|
7ed81fa708
|
metainfo tests: Fix some naming conventions
|
2016-02-23 21:50:07 +11:00 |
Matt Joiner
|
c0cef5274b
|
bencode: Update some test code
|
2016-02-23 21:47:00 +11:00 |
Matt Joiner
|
fd5da294ff
|
bencode tests: Idiomatize identifier naming
|
2016-02-23 21:43:05 +11:00 |
Matt Joiner
|
f470f04d8f
|
bencode: Use the testdata convention in tests
|
2016-02-23 21:31:15 +11:00 |
Matt Joiner
|
c03593bc01
|
Catch error creating new client in test
|
2016-02-22 14:30:02 +11:00 |
Matt Joiner
|
c371502cb3
|
Fix failure to request data from peers if it goes missing after being downloaded during the same session
The chunks remained marked dirty, even after the piece was marked complete. So when the piece was not complete, there was nothing to do.
|
2016-02-22 03:23:49 +11:00 |
Matt Joiner
|
fd37f5c24b
|
fs: Fix what looks like a glaring mistake: If Seek failed on the torrent reader, it would have got stuck
Since Seek is artificial, and the offsets are usually checked in the caller, it looks like it never failed anyway.
|
2016-02-22 02:44:29 +11:00 |
Matt Joiner
|
5cfa8232ed
|
Fix races in Reader
|
2016-02-22 02:42:01 +11:00 |
Matt Joiner
|
033c95d73b
|
Add a client transfer test with limited file cache, and a second pass read
|
2016-02-22 02:41:07 +11:00 |
Matt Joiner
|
ca5080a382
|
fs: Change listen addrs to localhost in tests
Seems to improve reliability. Maybe the missinggo.Addr{IP,Port} change did something.
|
2016-02-22 02:39:49 +11:00 |