Matt Joiner
ffe778392c
request can be made from Reject and Cancel messages too
2018-02-02 23:56:06 +11:00
Matt Joiner
7a95714df2
Factor out connection.onReadRequest
2018-02-02 19:19:14 +11:00
Matt Joiner
7eb62eec0d
Move some code around
2017-11-08 15:00:18 +11:00
Matt Joiner
fdf75d59c8
Kick only the worst connection when a piece fails a check
2016-11-23 12:59:23 +11:00
Matt Joiner
4d10fd3496
Fix issue #112
2016-09-12 16:54:43 +10:00
Matt Joiner
da4d40ed7e
Merge all our global consts and vars into global.go
...
For easier referral to other parties.
2016-04-14 17:19:07 +10:00
Matt Joiner
fda1cc3f7b
Remove more deadcode
2016-04-04 15:23:05 +10:00
Matt Joiner
1566e2afdc
Remove deadcode
2016-04-04 15:18:51 +10:00
Matt Joiner
b80bb6393a
Use metainfo.Hash for piece and info hashes
2016-04-04 13:01:31 +10:00
Matt Joiner
775cf53809
Get mmap storage working
2016-03-28 21:57:04 +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
06ebc4c37e
Explicitly import Torrent.InfoHash
2015-08-02 03:55:48 +10:00
Matt Joiner
c018c660f0
Allow chunk size to be specified per torrent
2015-07-15 15:31:18 +10:00
Matt Joiner
dd34efad57
Comments and update version strings
2015-06-28 16:40:46 +10:00
Matt Joiner
af127dfd0f
Add some metainfo validation
2015-06-03 00:17:58 +10:00
Matt Joiner
ade6087b2f
Move torrentOffsetRequest and torrentRequestOffset, fixing a bug in former, and test it
2015-04-08 02:20:01 +10:00
Matt Joiner
533c034747
import pp peer_protocol in misc.go
2015-04-08 02:17:15 +10:00
Matt Joiner
6c48d59adb
Move piece into its own file
2015-04-08 02:14:35 +10:00
Matt Joiner
67f90ed886
More public interface tidying
2015-03-20 23:52:53 +11:00
Matt Joiner
842a32ae0c
Rewrite import paths for migration from Bitbucket
2015-03-20 16:37:44 +11:00
Matt Joiner
e6fbde0dc6
Rework piece completion
2015-03-11 02:41:21 +11:00
Matt Joiner
ad6ac3f2cd
More cleaning of public interface
2015-03-08 17:28:14 +11:00
Matt Joiner
a2d69b4931
Make blob data stateful
2015-02-27 12:45:55 +11:00
Matt Joiner
4b1b009049
Encapsulate torrent data, and provide os.File and mmap-based implementations
2015-02-10 00:14:52 +11:00
Matt Joiner
d54c5ddf24
Remove a bunch of dead code
2014-12-28 12:51:09 +11:00
Matt Joiner
b6ae4caa6a
Set priorities ahead of the current read position
2014-12-05 00:56:28 -06:00
Matt Joiner
ac1afa19b8
mmap_span: Avoid allocating the span slice on every use
2014-12-05 00:54:55 -06:00
Matt Joiner
91c2c1f5c7
Piece priorities, torrent read interface and many fixes
2014-12-03 01:07:50 -06:00
Matt Joiner
5c8de6dd7c
Skip mapping files with length 0
2014-12-01 19:13:08 -06:00
Matt Joiner
18d6f81184
Add InfoHash.HexString convenience
2014-12-01 16:34:45 -06:00
Matt Joiner
358f089515
Set a minimum dial timeout
2014-11-18 21:53:00 -06:00
Matt Joiner
eeae2d3285
Actually announce to DHT, don't just get peers
2014-11-16 13:18:08 -06:00
Matt Joiner
713cf7e71f
Extend the dial timeout to 30s
2014-08-22 17:40:22 +10:00
Matt Joiner
063e02cbfd
Avoid allocations in shuffledPendingChunkSpecs
2014-08-22 17:37:18 +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
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
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
d16f444fa8
Support individual peer max requests
2014-05-21 17:47:42 +10:00
Matt Joiner
0dee5d9952
Make Request private
2014-04-16 21:13:44 +10:00
Matt Joiner
036fd126e8
Implement receiving cancel messages
2014-04-16 17:33:33 +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
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