Matt Joiner
|
4e8f6b8e5b
|
Optimize nextRequestState to return cancel and new requests, and reinstate requestsLowWater
|
2017-09-02 10:36:43 +10:00 |
Matt Joiner
|
bad6f07f5e
|
Wrap writerCond in tickleWriter and be more selective about using it
|
2017-09-01 15:26:50 +10:00 |
Matt Joiner
|
110764480e
|
Avoid triggering writer cond where possible
|
2017-09-01 12:09:41 +10:00 |
Matt Joiner
|
361cdc0e08
|
Track buffered but not posted messages, and unify the expvar names for those counters
|
2017-09-01 10:53:59 +10:00 |
Matt Joiner
|
e3479b0bb3
|
Remove unused code
|
2017-09-01 10:46:26 +10:00 |
Matt Joiner
|
d934ec7e30
|
Add some variables to track fillBuffer effectiveness
|
2017-09-01 10:36:43 +10:00 |
Matt Joiner
|
13e79039f2
|
Generate requests, cancels and interest state in the connection writer
|
2017-08-31 23:48:52 +10:00 |
Matt Joiner
|
986b9093a0
|
Make connection.writer pull from a buffer
|
2017-08-31 16:26:45 +10:00 |
Matt Joiner
|
c4f5a49c97
|
Panics while decoding messages in connection.mainLoopRead would trigger more panics
|
2017-08-31 16:25:49 +10:00 |
Matt Joiner
|
a8a1ea755d
|
Remove unused functions
|
2017-08-26 13:23:04 +10:00 |
Matt Joiner
|
b2d2c524c6
|
Fix sync.Mutex copy by value
Found by go vet, per https://github.com/anacrolix/torrent/issues/179.
|
2017-08-25 16:36:34 +10:00 |
Matt Joiner
|
76c60ffa77
|
Try a state-delta function for updating request state
Also adds Torrent.networkingEnabled, though it isn't yet useful.
|
2017-08-18 01:51:02 +10:00 |
Matt Joiner
|
493916c279
|
Rename Torrent.connHasWantedPieces->connection.peerHasWantedPieces
|
2017-08-18 01:48:19 +10:00 |
Matt Joiner
|
4adee001f7
|
No longer wanting a piece wasn't triggering an update of connection request state
Pretty minor, but it would leave connections hanging in the interested state.
|
2017-08-18 01:44:20 +10:00 |
Matt Joiner
|
2624281842
|
Changes for dht-cleanup
|
2017-07-21 00:40:49 +10:00 |
Matt Joiner
|
79d800fe92
|
Trivial logging, comment, Stringer changes
|
2017-02-02 16:53:19 +11:00 |
Matt Joiner
|
a11df82349
|
package itertools API changed
|
2017-01-14 20:39:48 +11:00 |
Matt Joiner
|
5fe36bbb35
|
Show connection piece request order in text status
|
2017-01-04 18:09:50 +11:00 |
Matt Joiner
|
174cc0e183
|
Reduce the priority given to earlier pieces. Maximum priority reads at the end of the file aren’t getting enough attention.
|
2017-01-04 18:08:29 +11: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
|
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
|
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
|
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
|
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
|
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
|
1725133111
|
Move the implementation of connection.requestPiecePendingChunks out of Torrent
|
2016-10-25 14:58:17 +11:00 |
Matt Joiner
|
ed0dbba384
|
Make newConnection a method on Client
|
2016-10-10 16:55:56 +11:00 |
Matt Joiner
|
c34234bf34
|
Split connection.rw into separate Reader and Writer
This will make it easier to write hooks for Read and Write separately.
|
2016-10-10 16:30:51 +11:00 |
Matt Joiner
|
de761fb506
|
Do chunk pooling at Torrent instead of connection level
|
2016-10-05 15:57:00 +11:00 |
Ye Yin
|
d3963eedfd
|
Use sync.pool for decode buffer
|
2016-09-12 17:32:04 +10:00 |
Matt Joiner
|
2fc814b5eb
|
Move Client.connectionLoop to connection.mainReadLoop
|
2016-09-11 14:32:56 +10:00 |
Matt Joiner
|
e6d7b52638
|
Speed up connection.lastHelpful
Moving to reflection and interfaces has made it a bottleneck.
|
2016-08-14 22:39:23 +10:00 |
Matt Joiner
|
fbe0ded844
|
Add connection read stats
|
2016-07-12 16:42:04 +10:00 |
Matt Joiner
|
a4e140b939
|
New slices package
|
2016-07-12 16:40:14 +10:00 |
Matt Joiner
|
240abaf512
|
Add Torrent.SetMaxEstablishedConns
|
2016-07-06 00:42:16 +10:00 |
Matt Joiner
|
326b36545b
|
Prepare to allow max conns per torrent to be configured
|
2016-07-05 16:23:17 +10:00 |
Matt Joiner
|
12191dbfa3
|
Add counters for uploads
Fixes #71.
|
2016-07-05 15:52:33 +10:00 |
Matt Joiner
|
874bba43f8
|
Fix crash causing deadlock in connection writer when no messages have been posted yet
|
2016-06-27 15:45:15 +10:00 |
Matt Joiner
|
6cac882030
|
Reduce the impact of preferring earlier pieces
I think urgent pieces at the end of a torrent were getting fairly starved.
|
2016-05-28 22:04:33 +10:00 |
Matt Joiner
|
b55e67dc22
|
Ban IPs that contribute to failed piece checks
|
2016-05-24 02:09:47 +10:00 |
Matt Joiner
|
d2951c6c4b
|
Move requestPendingMetadata onto connection from Client
|
2016-05-16 18:46:38 +10:00 |
Matt Joiner
|
dcfee93f96
|
Fix race marshalling a bitfield after a Have has also been posted
|
2016-05-11 23:50:21 +10:00 |
Matt Joiner
|
69643860ea
|
Move some behaviour into Client.newConnection
|
2016-05-07 18:57:38 +10:00 |