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

1446 Commits

Author SHA1 Message Date
Matt Joiner
7c532969d3 Various improvements that've had a lot of testing 2014-06-26 18:06:33 +10:00
Matt Joiner
b53e019a6f Fix broken connection write optimizer test 2014-06-26 17:30:54 +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
809aabe531 cmd/torrentfs: Expose readahead bytes as a flag 2014-06-26 01:37:00 +10:00
Matt Joiner
c509f0b1ea torrentfs: Reading an offset past the end of a file caused out of bounds panic 2014-06-26 01:36:25 +10:00
Matt Joiner
e7cb8a138b Begin implementing a K closest node algorithm 2014-06-24 23:20:49 +10:00
Matt Joiner
75e34be89d Some function doc 2014-06-24 23:20:07 +10:00
Matt Joiner
f3af9bd5bc Wrap server UDP sends to ensure the node last send is updated 2014-06-24 23:19:19 +10:00
Matt Joiner
1852e5805d DHT default server ID generated using hostname and server address 2014-06-24 23:18:30 +10:00
Matt Joiner
ef8e2fcf16 DHT node table should be loaded after the server is initialized 2014-06-24 23:17:06 +10:00
Matt Joiner
f45d397e41 udp_tracker: If a read deadline occurs, writes were failing with i/o timeout 2014-06-23 20:30:31 +10:00
Matt Joiner
9b6e3f25cd Reorder actions after a chunk is received 2014-05-29 02:44:27 +10:00
Matt Joiner
26116a7df8 Shuffle chunk spec request order for readahead pieces
Should reduce overlap in received chunks.
2014-05-29 01:32:34 +10:00
Matt Joiner
110aa733a4 Make the readahead on ResponsiveDownloadStrategy customizable 2014-05-29 01:30:59 +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
ef69e82765 Keepalives weren't marshalled correctly 2014-05-29 01:22:51 +10:00
Matt Joiner
83a02420a5 Got dht-server working nicely 2014-05-27 16:28:56 +10:00
Matt Joiner
92b77a7cae dht-server: Save and load node table between invocations 2014-05-25 23:04:55 +10:00
Matt Joiner
1b69e69461 Switch dht-server to bootstrapping 2014-05-25 21:34:29 +10:00
Matt Joiner
7c3d919cfb Begin implementing DHT 2014-05-24 16:51:56 +10:00
Matt Joiner
1390831dc3 Add README.rst with codeship image 2014-05-24 00:23:44 +10:00
Matt Joiner
f455ee3868 Remove redundant replenishConnRequests when receiving unchoke 2014-05-23 21:02:42 +10:00
Matt Joiner
dfde2a3497 dat new-world-style panic 2014-05-23 21:02:11 +10:00
Matt Joiner
91bf870eb1 Fix a race checking bytes left when announcing 2014-05-23 21:01:35 +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
a3bf8424a1 torrent.go: Alias peer_protocol as pp 2014-05-23 20:58:11 +10:00
Matt Joiner
51cbfdf676 Put interface assertion next to the asserted type 2014-05-23 00:38:07 +10:00
Matt Joiner
763e387c62 TorrentReadAt shouldn't care about verification state 2014-05-23 00:37:36 +10:00
Matt Joiner
dd30d144ae Avoid rebuffering in peer_protocol.Decode 2014-05-23 00:36:47 +10:00
Matt Joiner
65fa317244 Some minor fiddling to announcing in the client 2014-05-23 00:35:24 +10:00
Matt Joiner
f8b06ef65c The fuse library allocates a response data slice for us, so use it 2014-05-23 00:34:18 +10:00
Matt Joiner
96f85be99a ResponsiveDownloadStrategy will readahead blocks
Test peers don't play well with short "up request" buffers, so we need to fill
these with the most likely blocks to achieve maximum download speeds.
2014-05-23 00:33:07 +10:00
Matt Joiner
8022c09b90 client.go: Shorten module peer_protocol to pp 2014-05-21 18:01:58 +10:00
Matt Joiner
fdcee11eb0 Shorten variable names in connectionLoop 2014-05-21 17:55:50 +10:00
Matt Joiner
cc81bca617 Be more selective about when to replenish connection requests 2014-05-21 17:49:59 +10:00
Matt Joiner
309f70bcb5 Implement connection.{Cancel,Choke} 2014-05-21 17:49:28 +10:00
Matt Joiner
ef9e334479 Allocate peer_protocol.Message on the stack in connectionLoop 2014-05-21 17:48:44 +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
04879b0002 Add Client.DownloadStrategy; fix priority of incomplete pieces 2014-05-21 17:40:54 +10:00
Matt Joiner
2e4629abbc cmd/torrent: Add flags -disableTrackers and -seed 2014-05-21 17:38:09 +10:00
Matt Joiner
99b7ef4e42 Ininitialize the torrent.Priorities up front and do initial piece checks with a single goroutine 2014-05-21 17:37:31 +10:00
Matt Joiner
0f3c4cb3ec Add some String methods and contextual information in log messages 2014-05-21 00:52:49 +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
8245f119ef TestUnmountWedged, fs.Destroy 2014-04-17 16:37:54 +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
f1bf5a46a1 Check for asynchronous mount error after serving 2014-04-09 01:18:55 +10:00
Matt Joiner
fc653a307b Break up torrentfs main(), it's too large 2014-04-09 01:18:29 +10:00