Matt Joiner
da8ac9fe01
Log errant unwanted piece rather than panic
...
Eventually I'll work out what causes this, but for now it's incredibly rare.
2015-08-04 01:29:40 +10:00
Matt Joiner
5a73f73d97
dht: Count announce errors, don't log them
2015-08-04 01:20:44 +10:00
Matt Joiner
bbe58bbd73
Filter out DHT peers with port 0
...
Probably not necessary now we ban the nodes that send them, but it's appropriate to check here too.
2015-08-04 01:20:10 +10:00
Matt Joiner
f3317322f8
Fix crash if peer sends out of bounds HAVE message
2015-08-04 01:17:32 +10:00
Matt Joiner
f69c51bea3
Tighten up some potential leaks
...
Based on some observations of lingering goroutines in unit tests.
2015-08-04 01:15:09 +10:00
Matt Joiner
54339a30e3
Drop connections that contributed to pieces that failed to hash
...
There are peers out there that seem to intentionally spam bad data, and the same pieces will often fail continuously. This really puts a bee in their bonnet.
2015-08-04 01:12:09 +10:00
Matt Joiner
51aad774ab
Add IPBlocklist option to Config, and test it's inherited by DHT
2015-08-04 01:07:22 +10:00
Matt Joiner
8d581ce7f2
Fix utp.Socket leak in test
2015-08-04 00:48:17 +10:00
Matt Joiner
87433b00ba
Add File.DisplayPath
...
It's used in many places, I just never formalized it. This will help prevent bugs and misuse of File.Path
2015-08-04 00:45:15 +10:00
Matt Joiner
f9995244c0
If a DHTConfig was provided without a blocklist, the DHT wouldn't inherit the Client's blocklist
2015-08-04 00:43:46 +10:00
Matt Joiner
6afaa816bf
dht: Add PublicIP to config to secure node ID
2015-08-04 00:37:16 +10:00
Matt Joiner
68e3b9f666
dht: Block bad nodes, start by banning those that send port=0
2015-08-04 00:31:53 +10:00
Matt Joiner
d077fed72d
Some utils moved to missinggo
2015-08-04 00:29:01 +10:00
Matt Joiner
64848a206a
Replace go-check with testify
...
It's muuuuch better.
2015-08-03 16:23:05 +10:00
Matt Joiner
50ce70c47a
Fix locking in data/blob
2015-08-03 14:24:59 +10:00
Matt Joiner
1f008fb4f0
Trivial missed changes
2015-08-02 21:00:49 +10:00
Matt Joiner
0a69176da2
Remove clunky sentence from README
2015-08-02 20:45:26 +10:00
Matt Joiner
1cc50f85a6
connection.writer wasn't working efficiently
...
Because of the pseudo-random selection of a communication in a select statement, flushing was occuring prematurely. Also the buffer was needlessly large. For large messages, like outgoing pieces, it's probably better they just go straight to the wire anyway.
This change will make it easier to implement sending of pieces that doesn't block control messages in the future. Any time that the buffer is empty, we'll be able to signal that it's an optimal time to send a piece.
2015-08-02 20:39:31 +10:00
Matt Joiner
c735370f9b
tracker_test: Check for the error string instead of the type
...
The type changes from Go 1.4->1.5, and it's not worth tearing it apart.
2015-08-02 14:57:28 +10:00
Matt Joiner
7ecc8108bf
Track connection writes and flushes
...
Helps determine efficiency of the routine.
2015-08-02 14:30:33 +10:00
Matt Joiner
06dede5690
Track the connection flags for completed handshakes
2015-08-02 04:06:22 +10:00
Matt Joiner
34d3d7aca0
Tidy up outbound connection code
...
Preparing to allow alternate dialing logic.
2015-08-02 04:04:42 +10:00
Matt Joiner
d037e6ee9c
Suppress a lot of noisy logging
2015-08-02 04:01:41 +10:00
Matt Joiner
06ebc4c37e
Explicitly import Torrent.InfoHash
2015-08-02 03:55:48 +10:00
Matt Joiner
e5acfcbb46
Comments
2015-08-02 03:53:37 +10:00
Matt Joiner
3ef59be02d
fs: Remove errant logging
2015-07-22 19:07:01 +10:00
Matt Joiner
8069573abe
cmd/torrent: Remove some dead code
2015-07-21 22:54:50 +10:00
Matt Joiner
8ce61e911d
Torrent.BytesCompleted was racy
2015-07-21 22:54:02 +10:00
Matt Joiner
78ec88ad02
Don't probe pieces when setting torrent storage
...
It blocks the caller, for potentially quite some time. I've tested without this for some time now.
2015-07-21 22:52:43 +10:00
Matt Joiner
346c457e9c
Hashing was blocking prioritization of pieces
2015-07-21 22:51:15 +10:00
Matt Joiner
428fa03cab
Move CI to drone.io
...
Codeship keeps breaking, and is too painful to use.
2015-07-20 18:48:23 +10:00
Matt Joiner
4805cfbddc
Update README
2015-07-19 01:12:50 +10:00
Matt Joiner
84fc3aab0f
client.go: Missing perf import
2015-07-17 21:45:44 +10:00
Matt Joiner
0600c3b5e3
Several speedups in logic
2015-07-17 21:07:01 +10:00
Matt Joiner
6c04000644
Downloading a chunk may mean the piece isn't wanted anymore
...
Hopefully this fixes a very rare logic error in replenishing connection requests for a piece that isn't wanted, yet is still in the connection piece request order.
2015-07-17 21:04:43 +10:00
Matt Joiner
4d3b6e5116
Hold client lock as little as possible in Reader.readAt
2015-07-17 20:59:26 +10:00
Matt Joiner
35fa1e3365
Avoid holding client lock while scanning pieces in File.State
...
Some torrent data backends are expensive to query.
2015-07-17 20:58:25 +10:00
Matt Joiner
7e9fe4f447
Store chunk data without holding client lock
2015-07-15 16:00:59 +10:00
Matt Joiner
4e80d48692
Add fixes triggered by TestResponsive
2015-07-15 15:54:19 +10:00
Matt Joiner
a8ff6c2daf
Add TestResponsive
2015-07-15 15:51:42 +10:00
Matt Joiner
c018c660f0
Allow chunk size to be specified per torrent
2015-07-15 15:31:18 +10:00
Matt Joiner
4807f12ea1
When seeding, actually seed beyond 6 chunks
2015-07-15 15:29:53 +10:00
Matt Joiner
08f89c49f3
Don't raise piece priority while hashing or if piece complete
2015-07-04 13:38:42 +10:00
Matt Joiner
29343c13cc
Merge branch 'master' of github.com:anacrolix/torrent
2015-07-04 13:31:46 +10:00
Matt Joiner
fcd98acc9b
cmd/torrent-metainfo-pprint: Don't print extra newline when -name is true
2015-07-04 13:30:26 +10:00
Matt Joiner
0256508b4f
Abandon the mailing list and gophers channel
2015-07-02 20:32:00 +10:00
Matt Joiner
724f7782b2
Move the gitter badge inline with the other badges
2015-07-02 20:31:15 +10:00
Matt Joiner
fd24910257
Merge pull request #9 from gitter-badger/gitter-badge
...
Add a Gitter chat badge to README.md
2015-07-02 20:29:54 +10:00
Matt Joiner
fd2824f595
Raise socketsPerTorrent to 80
2015-06-30 00:46:43 +10:00
Matt Joiner
500f51d232
Some changes to writing torrent status
2015-06-30 00:46:24 +10:00