Matt Joiner
51bae0a3c8
metainfo: Add helper methods to FileInfo
2017-01-04 17:15:11 +11:00
Matt Joiner
984a69c73a
Merge pull request #144 from BonkaBonka/fastfail
...
Abort verify at first hash mismatch.
2017-01-04 14:42:59 +11:00
BonkaBonka
25990f44ee
Abort verify at first hash mismatch.
2017-01-03 21:44:19 -05:00
Matt Joiner
9cf09dba8a
Remove unused funcs and idents
2017-01-01 11:03:02 +11:00
Matt Joiner
186b5073d2
Move method queuePieceCheck
2017-01-01 11:02:37 +11:00
Matt Joiner
d48c7c8e36
sort imports
2017-01-01 11:01:41 +11:00
Matt Joiner
65295eb513
Panic if NewHashFromHex gets a bad string
2017-01-01 10:08:45 +11:00
Matt Joiner
d8ca4ac92a
Rewrite cmd/torrent-verify
...
Fixes #141
2017-01-01 10:08:45 +11:00
Matt Joiner
c4b1cd35bb
Update README.md
...
Add Trickl android app
2016-12-31 19:17:00 +11:00
Matt Joiner
0973b66b7e
Update README.md
...
Closes #143
2016-12-31 19:07:02 +11:00
Matt Joiner
b68d7cd08e
dht/… moved to github.com/anacrolix/dht
2016-12-14 11:43:37 +11:00
Matt Joiner
70dfd099f1
Rename dht/krpc.KRPCError -> Error
2016-12-13 14:50:42 +11:00
Matt Joiner
e80846998c
dht: Reply with Method Unknown error to unknown query methods received
2016-12-13 14:45:40 +11:00
Matt Joiner
bb4d344235
Fix race condition in TestPieceHashFailed
2016-12-13 14:44:00 +11:00
Barsanuphe
86c5b20e3f
Added optional source flag to torrent files ( #137 )
2016-12-09 13:16:56 +11:00
Matt Joiner
f510c5cf22
Fix piece failures not clearing dirty chunks
...
I don’t like how complicated piece completion/hashing management is, but it works.
2016-12-06 16:10:10 +11:00
Matt Joiner
2f9405bd8e
Merge commit 'c8dffdb'
2016-12-06 15:43:00 +11:00
Matt Joiner
c8dffdbb11
Add test that dirty chunks are cleared on piece hash failure
2016-12-06 15:41:08 +11:00
Matt Joiner
74be3d58e5
Reader.Close: Don’t set t to nil, we may still expect it
...
For example in goroutines spawned in ReadContext.
2016-12-05 22:00:26 +11:00
Matt Joiner
75b959099f
iplist: Begin adding support for parsing CIDR lists
2016-12-01 15:41:52 +11:00
Matt Joiner
af7a0d3464
Add Torrent.Closed
2016-11-30 18:02:39 +11:00
Matt Joiner
9d35196cca
cmd/torrent: Accept infohash: scheme torrents
2016-11-30 18:02:21 +11:00
Matt Joiner
1f2f037209
Fix logging of trust slice
2016-11-30 18:01:39 +11:00
Matt Joiner
97f6cb496e
Avoid deadlock caused by receiving PORT and and DHT announce_peer at the same time
2016-11-28 00:03:10 +11:00
Matt Joiner
8b50f5fa7a
Fix deadlock in Client.onDHTAnnouncePeer
2016-11-27 14:43:21 +11:00
Matt Joiner
f451a39b69
Fix harmless race conditions in Client.WriteStatus introduced way back
2016-11-27 14:26:45 +11:00
Matt Joiner
79310dd264
dht.NewServer: Initialize the tokenServer
2016-11-27 02:22:47 +11:00
Matt Joiner
4a7fbf6170
Add peers received from received announce_peer DHT messages to the Client
...
Addresses #133
2016-11-27 00:05:19 +11:00
Matt Joiner
3d043ffc39
dht.Server: Return valid token from get_peers, and handle incoming announce_peer
...
Addresses #133 .
2016-11-26 16:14:37 +11:00
Matt Joiner
aa697794cc
Remove unused function
2016-11-25 17:24:29 +11:00
Matt Joiner
d7416af930
Remove completed TODO item
2016-11-25 17:24:16 +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
57b679ffb0
Add a note about dropping connections that we sent a HAVE for incomplete pieces
2016-11-23 11:52:41 +11:00
Matt Joiner
4807c9e29a
Make Torrent.conns a map
...
Can't remember if I've tried this before. But dropping arbitrary connections while iterating established conns will become much simpler.
2016-11-23 11:48:44 +11:00
Matt Joiner
ebbd555e7b
Move a bunch of Client methods onto more appropriate types
2016-11-22 21:12:53 +11:00
Matt Joiner
389898bb84
tracker: Support the original http response peers format
...
Fixes #130
2016-11-22 15:40:46 +11:00
Matt Joiner
90ca45dd2d
Don't accept pieces with bad indexes
...
Fixes #132
2016-11-22 14:20:48 +11:00
Matt Joiner
84d243afca
Rename connection.downloadedChunk -> receiveChunk
2016-11-22 14:18:09 +11:00
Matt Joiner
6f9bcff8b2
Make downloadedChunk a method of connection
2016-11-22 14:17:30 +11:00
Matt Joiner
0d9348c5d1
Move Client.downloadedChunk to connection.go
2016-11-22 14:16:18 +11:00
Matt Joiner
d193dd0479
TODO
2016-11-22 14:01:17 +11:00
Matt Joiner
3602d90b65
gofmt simplify
2016-11-22 14:01:09 +11:00
Matt Joiner
04dedcef9f
metainfo: Remove unused import
2016-11-08 21:09:04 +11:00
Vincent
7d327905fe
feat: remove print BuildFromFilePath
...
removes the print of (path, err) in function BuildFromFilePath
2016-11-05 09:56:31 +11:00
Matt Joiner
dc7428db54
Reader.Close: Prefer to lock Client in public method
2016-10-31 19:05:33 +11:00
Matt Joiner
df60a765a7
Torrent.unpendPieces: Only update unpended pieces
...
Updating all pieces at once is no longer faster. (There was an optimization for this a while ago that no longer exists.)
2016-10-31 19:05:08 +11:00
Matt Joiner
a8e96ce996
When Reader position changes only update piece priorities that may be affected
...
Seems to significantly reduce CPU load reading from torrents with huge piece counts.
2016-10-31 19:00:08 +11:00
Matt Joiner
95f73db7e4
Ditch the use of generic slices.HeapInterface for finding the worst "bad" connection
...
It's become a bottleneck. Implement it directly using heap.Interface.
2016-10-31 16:24:48 +11:00
Matt Joiner
a49e133d8a
Comment on connection.updatePiecePriority
...
There's also Torrent.updatePiecePriority, and it's always confusing what the difference is.
2016-10-31 16:22:07 +11:00
Matt Joiner
5e83287890
storage: ClientImpl interface now includes Close
...
This is now necessary because bolt doesn't allow multiple DB handles, so the bolt piece completion DB instance must be at the client level. The new method is not currently used from the Client however, this maybe necessary to avoid leaks.
2016-10-25 20:00:09 +11:00