Commit Graph

786 Commits

Author SHA1 Message Date
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
Matt Joiner bb28ff7492 Replace pruning timer with as-required connection dropping 2015-06-30 00:45:26 +10:00
Matt Joiner 1595f65ac2 Adjust some expvars 2015-06-30 00:35:47 +10:00
Matt Joiner 58dd6ddf93 Implement Stringer on connection 2015-06-29 19:37:52 +10:00
Matt Joiner c41aa941f3 dht: Export some useful variables 2015-06-29 19:36:08 +10:00
Matt Joiner 4a8ba4faaf dht: Suppress error during bootstrapping because Server already closed 2015-06-29 19:34:42 +10:00
Matt Joiner 2277e16dca Rename and sort some of the expvars 2015-06-28 16:41:51 +10:00
Matt Joiner dd34efad57 Comments and update version strings 2015-06-28 16:40:46 +10:00
Matt Joiner 4f293ca75b Several trivial fixes 2015-06-28 16:39:04 +10:00
Matt Joiner b1bacc5c3a Merge pull request #19 from scr4t/master
Make torrent-pick work with latest changes
2015-06-27 19:49:58 +10:00
Alexander Baranov 029f431ff6 Make torrent-pick work with latest changes 2015-06-25 21:02:14 +03:00
Matt Joiner 8146001893 fs: Fix test when :50007 already in use 2015-06-23 02:03:08 +10:00
Matt Joiner 4e33a45f02 TODO 2015-06-23 02:02:32 +10:00
Matt Joiner 4b6c8b1c39 Move methods to correct file 2015-06-23 02:02:22 +10:00
Matt Joiner c76f3c1ead Upstream bazil.org/fuse changed again ಠ_ಠ 2015-06-22 23:02:29 +10:00
Matt Joiner 6d00549641 TODO 2015-06-22 19:52:00 +10:00
Matt Joiner 348c6406eb cmd/torrent-metainfo-pprint: Output JSON instead 2015-06-22 19:50:29 +10:00
Matt Joiner b5ee4f602d Document ConfigDir 2015-06-22 19:48:50 +10:00