Matt Joiner
52fc7c7205
Improve the internal connection and handshake logic
2014-08-21 18:12:49 +10:00
Matt Joiner
7f6987b2a4
Error in connection.writer goroutine wasn't killing the connection
2014-07-18 02:37:33 +10:00
Matt Joiner
65e1bbb6ba
Show piece counts for peers in status page
...
Lets me visually check that connections agree on number of pieces.
2014-07-17 16:04:43 +10:00
Matt Joiner
b467f15bae
Fix goroutine leak for connection.writer
2014-07-17 16:02:30 +10:00
Matt Joiner
b30f3ba73e
Correct the connection peer bitfields when the metadata becomes available
2014-07-16 17:09:30 +10:00
Matt Joiner
8910eb660d
Add more information I've needed to the status page
2014-07-16 17:07:28 +10:00
Matt Joiner
0d27ae7fd1
Make the discovery source for a connection more descriptive
2014-07-16 17:06:18 +10:00
Matt Joiner
5f9ed81917
Add some extra char flags to connection status
2014-07-10 00:16:09 +10:00
Matt Joiner
17acbb485c
Fix crash when peer has only sent lower-index HAVE messages
2014-07-01 00:06:58 +10:00
Matt Joiner
23cfe49ea4
Record if a connection was incoming
2014-07-01 00:04:28 +10:00
Matt Joiner
aec5074f3d
Add support for extended handshake "v", "reqq", and "p" fields
2014-06-29 18:57:49 +10:00
Matt Joiner
c96293a111
Can now download from magnet links
2014-06-28 19:38:31 +10:00
Matt Joiner
49e71f9654
Begin adding magnet and ut_metadata support
2014-06-27 00:57:07 +10:00
Matt Joiner
de769cdce7
vet some printfs
2014-06-26 17:30:16 +10:00
Matt Joiner
cf31465904
torrentfs: Write client status to HTTP port
2014-06-26 17:29:12 +10:00
Matt Joiner
cfc282ff51
Remove requests from the outbound message queue if cancelled before they're written
...
Only post peer protocol messages to the channel, bytes must be done directly.
This fixes a possible issue where slow responses during handshake could cause
keep alive messages to be sent prematurely.
2014-05-29 01:27:48 +10:00
Matt Joiner
898c4f4e4f
Store request heat in the download strategy
...
This avoids recalculating it for every FillRequest
2014-05-23 21:01:05 +10:00
Matt Joiner
309f70bcb5
Implement connection.{Cancel,Choke}
2014-05-21 17:49:28 +10:00
Matt Joiner
d16f444fa8
Support individual peer max requests
2014-05-21 17:47:42 +10:00
Matt Joiner
ec77cb0ece
Misc minor improvements
2014-05-21 17:42:06 +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