Matt Joiner
2410c3eddd
Extract function generating all chunk specs for a piece
2014-08-22 03:42:38 +10:00
Matt Joiner
00a4e9bc11
Fix crash in metadata requests beyond available info bytes
2014-08-22 03:42:00 +10:00
Matt Joiner
e8f184a7bf
Store pending peers in a dict to prevent duplicates
2014-08-21 21:10:19 +10:00
Matt Joiner
74f05db2ea
Clean up imports
2014-08-21 21:08:56 +10:00
Matt Joiner
5c1492bffe
Add CopyExact util function
2014-08-21 18:24:19 +10:00
Matt Joiner
ef7c4f4120
Move priority management entirely into the download strategies
2014-07-24 13:42:31 +10:00
Matt Joiner
6158b1f6ec
torrentfs: Match the active torrents to those found in the given directory
2014-07-23 01:54:11 +10:00
Matt Joiner
b30f3ba73e
Correct the connection peer bitfields when the metadata becomes available
2014-07-16 17:09:30 +10:00
Matt Joiner
8910eb660d
Add more information I've needed to the status page
2014-07-16 17:07:28 +10:00
Matt Joiner
0d27ae7fd1
Make the discovery source for a connection more descriptive
2014-07-16 17:06:18 +10:00
Matt Joiner
9e8a72ff1d
Invalidating metadata would cause a crash when metadata pieces kept arriving
2014-07-14 23:12:52 +10:00
Matt Joiner
4c2d07337d
Keep pieces sorted by bytes left
2014-07-10 00:26:58 +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
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
cf31465904
torrentfs: Write client status to HTTP port
2014-06-26 17:29:12 +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
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
65fa317244
Some minor fiddling to announcing in the client
2014-05-23 00:35:24 +10:00
Matt Joiner
96f85be99a
ResponsiveDownloadStrategy will readahead blocks
...
Test peers don't play well with short "up request" buffers, so we need to fill
these with the most likely blocks to achieve maximum download speeds.
2014-05-23 00:33:07 +10:00
Matt Joiner
ec77cb0ece
Misc minor improvements
2014-05-21 17:42:06 +10:00
Matt Joiner
04879b0002
Add Client.DownloadStrategy; fix priority of incomplete pieces
2014-05-21 17:40:54 +10:00
Matt Joiner
0f3c4cb3ec
Add some String methods and contextual information in log messages
2014-05-21 00:52:49 +10:00
Matt Joiner
0dee5d9952
Make Request private
2014-04-16 21:13:44 +10:00
Matt Joiner
1aa1063863
Big visibility/doc clean-up, and extract mmap_span package
2014-04-09 02:36:05 +10:00
Matt Joiner
786952e4cd
Add error handling to PrioritizeDataRegion as it's public facing API
2014-04-09 01:15:39 +10:00
Matt Joiner
a0a715c6f6
Fix calculation of request for torrent data offset
2014-04-08 16:45:33 +10:00
Matt Joiner
9ba3af19ba
Break up client.go into several files and a few fixes
...
Suppress expected errors when initiating connections.
Add an explicit timeout to initiate connections.
Put a lock on closing a connection to prevent data race warnings.
2014-04-03 23:16:59 +11:00