Matt Joiner
17acbb485c
Fix crash when peer has only sent lower-index HAVE messages
2014-07-01 00:06:58 +10:00
Matt Joiner
0f53e89e7b
Improve some log messages
2014-07-01 00:05:28 +10:00
Matt Joiner
23cfe49ea4
Record if a connection was incoming
2014-07-01 00:04:28 +10:00
Matt Joiner
147ad31135
A CPU optimization to FillRequests when we know no more can be added
2014-07-01 00:03:07 +10:00
Matt Joiner
b969b17092
Disable request heat assertion for now
...
Probably want a flag to do intensive checks like this
2014-06-30 00:22:36 +10:00
Matt Joiner
eb070383b1
Move download strategies into their own file
2014-06-30 00:22:05 +10:00
Matt Joiner
51431c7cfc
Some minor tweaks
2014-06-29 19:10:59 +10:00
Matt Joiner
f3bd288dd6
Fix crash writing torrent status before priorities are initialized
2014-06-29 19:08:46 +10:00
Matt Joiner
b87bb74f31
Fix a race where the last piece of a torrent is requested before it's been hashed
2014-06-29 19:08:16 +10:00
Matt Joiner
3b29043861
Add peers sent over PEX
2014-06-29 19:07:43 +10:00
Matt Joiner
aec5074f3d
Add support for extended handshake "v", "reqq", and "p" fields
2014-06-29 18:57:49 +10:00
Matt Joiner
5e7fe0383b
Fix crash printing client status when a torrent info isn't available
2014-06-29 18:56:19 +10:00
Matt Joiner
434c954319
Log errors setting the metadata for a torrent, and report when metadata is completed from peers
2014-06-29 15:45:21 +10:00
Matt Joiner
87100587f8
Remove some metadata related debug messages
2014-06-29 15:44:55 +10:00
Matt Joiner
a44d2d88c3
Rename torrent package to metainfo; expose MetaInfo["info"] so it can be used on its own
...
--HG--
rename : torrent/README => metainfo/README
rename : torrent/_testdata/archlinux-2011.08.19-netinstall-i686.iso.torrent => metainfo/_testdata/archlinux-2011.08.19-netinstall-i686.iso.torrent
rename : torrent/_testdata/continuum.torrent => metainfo/_testdata/continuum.torrent
rename : torrent/builder.go => metainfo/builder.go
rename : torrent/metainfo.go => metainfo/metainfo.go
rename : torrent/metainfo_test.go => metainfo/metainfo_test.go
2014-06-28 19:40:39 +10:00
Matt Joiner
c96293a111
Can now download from magnet links
2014-06-28 19:38:31 +10:00
Matt Joiner
9d53e19547
Fixes for cmd/torrent with the new torrent.Info field
2014-06-27 18:57:35 +10:00
Matt Joiner
49e71f9654
Begin adding magnet and ut_metadata support
2014-06-27 00:57:07 +10:00
Matt Joiner
33d53cf9e5
Trivial fix for one of the last commits
2014-06-26 18:08:14 +10:00
Matt Joiner
7c532969d3
Various improvements that've had a lot of testing
2014-06-26 18:06:33 +10:00
Matt Joiner
b53e019a6f
Fix broken connection write optimizer test
2014-06-26 17:30:54 +10:00
Matt Joiner
de769cdce7
vet some printfs
2014-06-26 17:30:16 +10:00
Matt Joiner
cf31465904
torrentfs: Write client status to HTTP port
2014-06-26 17:29:12 +10:00
Matt Joiner
809aabe531
cmd/torrentfs: Expose readahead bytes as a flag
2014-06-26 01:37:00 +10:00
Matt Joiner
c509f0b1ea
torrentfs: Reading an offset past the end of a file caused out of bounds panic
2014-06-26 01:36:25 +10:00
Matt Joiner
e7cb8a138b
Begin implementing a K closest node algorithm
2014-06-24 23:20:49 +10:00
Matt Joiner
75e34be89d
Some function doc
2014-06-24 23:20:07 +10:00
Matt Joiner
f3af9bd5bc
Wrap server UDP sends to ensure the node last send is updated
2014-06-24 23:19:19 +10:00
Matt Joiner
1852e5805d
DHT default server ID generated using hostname and server address
2014-06-24 23:18:30 +10:00
Matt Joiner
ef8e2fcf16
DHT node table should be loaded after the server is initialized
2014-06-24 23:17:06 +10:00
Matt Joiner
f45d397e41
udp_tracker: If a read deadline occurs, writes were failing with i/o timeout
2014-06-23 20:30:31 +10:00
Matt Joiner
9b6e3f25cd
Reorder actions after a chunk is received
2014-05-29 02:44:27 +10:00
Matt Joiner
26116a7df8
Shuffle chunk spec request order for readahead pieces
...
Should reduce overlap in received chunks.
2014-05-29 01:32:34 +10:00
Matt Joiner
110aa733a4
Make the readahead on ResponsiveDownloadStrategy customizable
2014-05-29 01:30:59 +10:00
Matt Joiner
cfc282ff51
Remove requests from the outbound message queue if cancelled before they're written
...
Only post peer protocol messages to the channel, bytes must be done directly.
This fixes a possible issue where slow responses during handshake could cause
keep alive messages to be sent prematurely.
2014-05-29 01:27:48 +10:00
Matt Joiner
ef69e82765
Keepalives weren't marshalled correctly
2014-05-29 01:22:51 +10:00
Matt Joiner
83a02420a5
Got dht-server working nicely
2014-05-27 16:28:56 +10:00
Matt Joiner
92b77a7cae
dht-server: Save and load node table between invocations
2014-05-25 23:04:55 +10:00
Matt Joiner
1b69e69461
Switch dht-server to bootstrapping
2014-05-25 21:34:29 +10:00
Matt Joiner
7c3d919cfb
Begin implementing DHT
2014-05-24 16:51:56 +10:00
Matt Joiner
1390831dc3
Add README.rst with codeship image
2014-05-24 00:23:44 +10:00
Matt Joiner
f455ee3868
Remove redundant replenishConnRequests when receiving unchoke
2014-05-23 21:02:42 +10:00
Matt Joiner
dfde2a3497
dat new-world-style panic
2014-05-23 21:02:11 +10:00
Matt Joiner
91bf870eb1
Fix a race checking bytes left when announcing
2014-05-23 21:01:35 +10:00
Matt Joiner
898c4f4e4f
Store request heat in the download strategy
...
This avoids recalculating it for every FillRequest
2014-05-23 21:01:05 +10:00
Matt Joiner
a3bf8424a1
torrent.go: Alias peer_protocol as pp
2014-05-23 20:58:11 +10:00
Matt Joiner
51cbfdf676
Put interface assertion next to the asserted type
2014-05-23 00:38:07 +10:00
Matt Joiner
763e387c62
TorrentReadAt shouldn't care about verification state
2014-05-23 00:37:36 +10:00
Matt Joiner
dd30d144ae
Avoid rebuffering in peer_protocol.Decode
2014-05-23 00:36:47 +10:00
Matt Joiner
65fa317244
Some minor fiddling to announcing in the client
2014-05-23 00:35:24 +10:00