2
0
mirror of synced 2025-02-24 14:48:27 +00:00

44 Commits

Author SHA1 Message Date
Matt Joiner
8e7e551d76 Fix comment 2015-01-11 00:17:25 +11:00
Matt Joiner
bcebf569b8 Favour earlier pieces 2015-01-11 00:17:18 +11:00
Matt Joiner
d54c5ddf24 Remove a bunch of dead code 2014-12-28 12:51:09 +11:00
Matt Joiner
8d87bb83a6 Refine connection status flags 2014-12-09 00:26:06 -06:00
Matt Joiner
a4dc96bb12 Make some overlap of piece priorities
The goal is to reduce duplicating requests on higher priority pieces.
2014-12-06 21:18:17 -06:00
Matt Joiner
3c41002317 Set a low water mark for replenishing requests 2014-12-05 00:58:43 -06:00
Matt Joiner
d58ca65a9c pieceordering: Rename RemovePiece->DeletePiece and complete tests
Note that tests currently fail due to bug in skiplist?
2014-12-05 00:58:04 -06:00
Matt Joiner
b6ae4caa6a Set priorities ahead of the current read position 2014-12-05 00:56:28 -06:00
Matt Joiner
91c2c1f5c7 Piece priorities, torrent read interface and many fixes 2014-12-03 01:07:50 -06:00
Matt Joiner
7228e40c95 Add piece ordering per-connection piece request priority 2014-12-02 18:22:38 -06:00
Matt Joiner
78ef36066d Give each connection its own piece priority order 2014-12-01 03:36:25 -06:00
Matt Joiner
0f54c2f79e Use a buffer to reduce syscall.Write calls 2014-11-21 00:04:07 -06:00
Matt Joiner
e1f720c770 Triage a possible bug blocking while closing UTPConns 2014-11-18 21:53:57 -06:00
Matt Joiner
963918ac90 Add UTP support, disable TCP for now. DHT moves to another port 2014-11-16 13:29:31 -06:00
Matt Joiner
c0d7b2fbf2 Rename and improve downloaded chunk counters and status per connection 2014-09-11 20:30:13 +10:00
Matt Joiner
aeee372506 Add useful new metrics to connection 2014-08-28 09:32:49 +10:00
Matt Joiner
035edbaf85 Rename connection.closed->closing 2014-08-28 09:31:05 +10:00
Matt Joiner
1ff7414869 Add a counter for optimized cancels 2014-08-24 03:04:07 +10:00
Matt Joiner
95d5d4a30c Improve status and logging 2014-08-22 17:33:17 +10:00
Matt Joiner
848636f830 Fix error in bitfield correction expression and off by one condition when metadata is completed 2014-08-22 01:26:41 +10:00
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