Matt Joiner
|
c0283d3314
|
Return an error from Torrent.setMetadataSize
This should mean connections sending ridiculous metadata sizes get dropped.
|
2016-05-16 18:48:56 +10:00 |
|
Matt Joiner
|
d2951c6c4b
|
Move requestPendingMetadata onto connection from Client
|
2016-05-16 18:46:38 +10:00 |
|
Matt Joiner
|
2b46a17b39
|
Bit of a tidy in the tracker code
|
2016-05-12 12:43:37 +10:00 |
|
Matt Joiner
|
528836ab4c
|
Get rid of obsoleted Torrent.ceaseNetworking, and clean up Torrent.closing
|
2016-05-11 21:44:55 +10:00 |
|
Matt Joiner
|
a45a09b877
|
Rework setting of info bytes
|
2016-05-09 15:47:39 +10:00 |
|
Matt Joiner
|
2d160b0419
|
metainfo.InfoEx.Hash becomes a function, UpdateBytes is added, and Bytes used in marshalling
Fixes #80.
|
2016-05-05 22:40:38 +10:00 |
|
Matt Joiner
|
f6b83130c9
|
Move a bunch of Torrent methods from client.go
|
2016-05-03 16:47:11 +10:00 |
|
Matt Joiner
|
28c9ec2bd1
|
Some changes to metainfo.InfoEx and testutil
|
2016-04-30 11:07:29 +10:00 |
|
Seth Hoenig
|
9f4bf70e17
|
refactor struct identifiers to follow conventional go names
|
2016-04-18 23:11:11 -05: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
|
48871324f4
|
Comments and logs around bad metadata size
|
2016-04-07 19:13:51 +10:00 |
|
Matt Joiner
|
49a3c87a53
|
Fix possible deadlock
|
2016-04-04 20:39:57 +10:00 |
|
Matt Joiner
|
82ee860e8d
|
Apply unconvert linter
|
2016-04-04 15:28:25 +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
|
d3a1c79c79
|
Merge Torrent and torrent types
|
2016-04-03 18:40:43 +10:00 |
|
Matt Joiner
|
501ae0c98c
|
Comments
|
2016-04-03 16:52:52 +10:00 |
|
Matt Joiner
|
08830b97a1
|
Make everything on type torrent private
|
2016-04-03 16:50:53 +10:00 |
|
Matt Joiner
|
bc8fb2a165
|
If we fail to write to a piece, check its completion state
|
2016-04-03 16:36:57 +10: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
|
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
|
e2ffcd008b
|
Add t.bytesLeftAnnounce
Now it's safe to remove tracker specific bytesLeft contract
|
2016-03-22 09:06:48 +11:00 |
|
Matt Joiner
|
61af11fddc
|
Off by one error in torrent.pieceLength?
|
2016-02-21 17:25:47 +11:00 |
|
Matt Joiner
|
5b443fb63d
|
Refresh all piece completion states when data is missing
|
2016-02-21 17:24:59 +11:00 |
|
Matt Joiner
|
e20858a1e8
|
Move dataReadAt to torrent.readAt, and do the waitNoPendingWrites check there
|
2016-02-21 03:32:59 +11:00 |
|
Matt Joiner
|
dcdf85a474
|
Ditch the torrent stateMu for the client mutex
|
2016-02-21 03:31:50 +11:00 |
|
Matt Joiner
|
f6472fc1fd
|
Code comment
|
2016-02-20 14:41:04 +11:00 |
|
Matt Joiner
|
d5f888069f
|
Ditch Data.WriteSectionTo, and fix cmd/torrent-verify
|
2016-02-18 11:45:31 +11:00 |
|
Matt Joiner
|
589ab02dc4
|
Ensure piece completion state is correct at startup
|
2016-02-17 17:20:21 +11:00 |
|
Matt Joiner
|
73208b97ca
|
Code comments
|
2016-02-17 17:09:43 +11:00 |
|
Matt Joiner
|
0f9f7ba01b
|
Add torrent.completedPieces bitmap
Reduce load on data.PieceComplete for torrents with lots of pieces, when reader position changes. Not sure of the improvement yet.
|
2016-02-17 00:00:55 +11:00 |
|
Matt Joiner
|
b514434581
|
Trigger piece request order changes on connections in a few spots
The client was requesting already obtained data in certain circumstances. This fixes it.
|
2016-02-11 17:57:57 +11:00 |
|
Matt Joiner
|
034c816934
|
torrent.piecePartiallyDownloaded incorrectly returned true when all the chunks were dirty
|
2016-02-10 00:46:54 +11:00 |
|
Matt Joiner
|
24b8b13d2d
|
Fix pending of already completed pieces when pending ranges of pieces
|
2016-02-08 21:36:50 +11:00 |
|
Matt Joiner
|
dab95b5431
|
Remove unreachable code
|
2016-02-08 03:01:54 +11:00 |
|
Matt Joiner
|
623d9e0e06
|
Rework requesting of shuffled pending pieces
|
2016-02-07 21:58:48 +11:00 |
|
Matt Joiner
|
dc215d083e
|
Export PieceStateChange through piece state change pubsub
|
2016-02-07 21:55:47 +11:00 |
|
Matt Joiner
|
0c28a0f1b1
|
Use new tracker package interface
|
2016-02-07 18:49:35 +11:00 |
|
Matt Joiner
|
77d6e9e5cb
|
Use new missinggo iterator style, and speed up torrent.connHasWantedPieces()
|
2016-02-07 01:22:31 +11:00 |
|
Matt Joiner
|
1b8bc1498c
|
Use missinggo.bitmap for tracking dirty chunks
|
2016-02-05 15:45:32 +11:00 |
|
Matt Joiner
|
6942f3e6d5
|
Changes to piece priority need to be published as a piece state change
This occurs because we're now able to deprioritize pieces after readers seek or close
|
2016-02-05 01:19:42 +11:00 |
|
Matt Joiner
|
63c73e18b3
|
Add File.Cancel
|
2016-02-05 01:18:54 +11:00 |
|
Matt Joiner
|
89f23c226c
|
Fix bug in readahead
|
2016-02-02 04:45:57 +11:00 |
|
Matt Joiner
|
430f26f726
|
Recalculate all piece priorities more efficiently
|
2016-02-01 22:06:13 +11:00 |
|
Matt Joiner
|
afa264e6c5
|
Reintroduce connection piece inclinations, and begin caching piece priorities
|
2016-02-01 21:11:41 +11:00 |
|
Matt Joiner
|
3ed628356b
|
Use missinggo.Event for connection closing event
|
2016-02-01 21:08:52 +11:00 |
|
Matt Joiner
|
b90dacd324
|
Abstract the pendingPieces as a bitmap
|
2016-02-01 01:46:28 +11:00 |
|
Matt Joiner
|
ae9bba2611
|
Fix downloading of unwanted chunks, and write out downloaded chunks using the connection loop goroutine
Doing the writes with the connection loop goroutine prevents memory use blowing out when chunks aren't written out quickly enough.
|
2016-01-28 05:54:48 +11:00 |
|