]>
Sergey Matveev's repositories - btrtrc.git/log
Matt Joiner [Wed, 8 Nov 2017 08:33:05 +0000 (19:33 +1100)]
cmd/torrent-metainfo-pprint: Just take a single metainfo to stdin
Move processing into its own function too.
Matt Joiner [Wed, 8 Nov 2017 08:31:10 +0000 (19:31 +1100)]
Add a test for behaviour after getting metadata_size and before GotInfo
#208
Matt Joiner [Wed, 8 Nov 2017 08:29:55 +0000 (19:29 +1100)]
The "m" field in the extended handshake is not mandatory
Matt Joiner [Wed, 8 Nov 2017 08:29:01 +0000 (19:29 +1100)]
Config.Debug isn't just for logging
Matt Joiner [Wed, 8 Nov 2017 08:28:37 +0000 (19:28 +1100)]
Make Client.PeerID return [20]byte
Matt Joiner [Wed, 8 Nov 2017 08:28:03 +0000 (19:28 +1100)]
Generalise use of peerExtensionBytes
Matt Joiner [Wed, 8 Nov 2017 04:00:18 +0000 (15:00 +1100)]
Move some code around
Matt Joiner [Tue, 7 Nov 2017 13:34:59 +0000 (00:34 +1100)]
Fix #205
Matt Joiner [Tue, 7 Nov 2017 13:12:34 +0000 (00:12 +1100)]
More megacheck
Matt Joiner [Tue, 7 Nov 2017 05:11:59 +0000 (16:11 +1100)]
Apply megacheck to torrent package
Matt Joiner [Tue, 7 Nov 2017 05:00:08 +0000 (16:00 +1100)]
Fix a lot of noisy logging and test warnings
Matt Joiner [Mon, 6 Nov 2017 03:53:00 +0000 (14:53 +1100)]
Unbiased request ordering was requesting chunks the peer doesn't have
Matt Joiner [Mon, 6 Nov 2017 03:01:07 +0000 (14:01 +1100)]
Ignore expected error
Matt Joiner [Mon, 6 Nov 2017 02:42:46 +0000 (13:42 +1100)]
Add a link to Trickl
Matt Joiner [Sun, 5 Nov 2017 04:45:30 +0000 (15:45 +1100)]
Comment on bencode.Decoder.Offset
Matt Joiner [Sun, 5 Nov 2017 04:42:37 +0000 (15:42 +1100)]
Expose bencode.Decoder.Offset
Matt Joiner [Sun, 5 Nov 2017 04:39:00 +0000 (15:39 +1100)]
Remove noisy log message
Matt Joiner [Sun, 5 Nov 2017 04:38:09 +0000 (15:38 +1100)]
bencode: Implement unbuffered scanner used by NewDecoder
Minimizes unused reads into the input Reader stream
Matt Joiner [Sun, 5 Nov 2017 04:27:21 +0000 (15:27 +1100)]
Kick connections requesting pieces we don't have
This was removed at some point, and made the requests received for missing pieces expvar unused.
Matt Joiner [Sun, 5 Nov 2017 04:26:23 +0000 (15:26 +1100)]
Add some TODOs
Samuel [Sun, 5 Nov 2017 03:04:33 +0000 (03:04 +0000)]
Aggressive Upload (#203)
* Aggressive Upload Config
* Aggressive Upload
* Flip config option.
* Flip Aggressive Upload Config Option
Matt Joiner [Sat, 4 Nov 2017 06:08:02 +0000 (17:08 +1100)]
Add missing whitespace
Matt Joiner [Sat, 4 Nov 2017 06:07:42 +0000 (17:07 +1100)]
mse: Move sliceIter into test file
Matt Joiner [Sat, 4 Nov 2017 06:07:18 +0000 (17:07 +1100)]
Improve comment on Config.UploadRateLimiter
Matt Joiner [Sat, 4 Nov 2017 05:58:38 +0000 (16:58 +1100)]
Improve upload rate limit burst size panic message
Should help with #202.
Matt Joiner [Sun, 29 Oct 2017 01:49:58 +0000 (12:49 +1100)]
Fix copypasta PR ಠ_ಠ
Matt Joiner [Sun, 29 Oct 2017 01:38:31 +0000 (12:38 +1100)]
Merge pull request #201 from dz0ny/fix/http_client
Provide trackers specific http client
dz0ny [Sat, 28 Oct 2017 14:29:36 +0000 (16:29 +0200)]
Provide trackers specific http client
Mainly follows https://medium.com/@nate510/don-t-use-go-s-default-http-client-
4804cb19f779
but also disables HTTPS certificate verification.
Matt Joiner [Thu, 26 Oct 2017 03:25:59 +0000 (14:25 +1100)]
Add a test for bdecoding consecutive dicts
Matt Joiner [Sun, 22 Oct 2017 03:41:19 +0000 (14:41 +1100)]
Merge pull request #198 from BruceWangNo1/patch-1
Update "Other public projects using torrent" section on README.md
Bruce Wang [Sat, 21 Oct 2017 12:10:29 +0000 (07:10 -0500)]
Update "Other public projects using torrent" section on README.md
I having been using your project for downloading torrent on my server for a couple of weeks now and it works very well. Thanks for your contribution! I used to use a simple HTTP file server to retrieve the downloaded files to my computer. As I used this cumbersome approach heavily on a daily basis, I began to implement a tool to download torrent efficiently just by running a local command with the magnet link which sends torrent download request to the server. You may find my current working prototype sloppy but please check out my project.
Matt Joiner [Sat, 14 Oct 2017 05:41:14 +0000 (16:41 +1100)]
cmd/torrent-metainfo-pprint: Include metainfo's url-list in output
Helps with testing #197.
Matt Joiner [Thu, 12 Oct 2017 06:52:26 +0000 (17:52 +1100)]
Remove debug log message
Matt Joiner [Thu, 12 Oct 2017 06:52:15 +0000 (17:52 +1100)]
Fix fs test link now that Debian 9.2 came out
Matt Joiner [Thu, 12 Oct 2017 06:51:47 +0000 (17:51 +1100)]
If closing a connection Conn fails we can't do anything, and there's nothing to say
Matt Joiner [Thu, 12 Oct 2017 05:32:11 +0000 (16:32 +1100)]
Add apt-get update to CI
Matt Joiner [Thu, 12 Oct 2017 05:09:32 +0000 (16:09 +1100)]
Track completion known to implementation state
Addresses #193
Matt Joiner [Thu, 12 Oct 2017 05:06:14 +0000 (16:06 +1100)]
Avoid race condition in test
Matt Joiner [Sat, 23 Sep 2017 05:28:13 +0000 (15:28 +1000)]
Performance optimizations to calculating bytes left in Torrent
Was generating significant overhead in cmd/torrent
Matt Joiner [Sat, 23 Sep 2017 05:27:26 +0000 (15:27 +1000)]
storage: Remove incorrect comment
Matt Joiner [Sat, 23 Sep 2017 05:27:10 +0000 (15:27 +1000)]
Changes to Bitmap referencing
Matt Joiner [Sat, 23 Sep 2017 05:25:47 +0000 (15:25 +1000)]
Implement new request strategy
The new strategy, 2, has the fastest connection download by priority in order, and all other pieces stick to a randomized ordering that's stable per connection.
Matt Joiner [Fri, 22 Sep 2017 03:46:00 +0000 (13:46 +1000)]
fs: Some test tidying
Matt Joiner [Thu, 21 Sep 2017 09:32:03 +0000 (19:32 +1000)]
It looks like Torrent.worstBadConn was returning an arbitrary bad connection, it wasn't the worst
heap.Init got lost somewhere along the way? Need a unit test for this.
Matt Joiner [Thu, 21 Sep 2017 09:29:56 +0000 (19:29 +1000)]
Reduce system call overhead reading from connections
Matt Joiner [Mon, 18 Sep 2017 03:51:05 +0000 (13:51 +1000)]
fs/test.sh: umount requires sudo
Matt Joiner [Mon, 18 Sep 2017 03:47:49 +0000 (13:47 +1000)]
Also post cancels
Should mean that we don't have to wait for the peer requests low water mark before we process chunks to cancel.
Matt Joiner [Mon, 18 Sep 2017 03:42:42 +0000 (13:42 +1000)]
Abstract out making a cancel message
Matt Joiner [Mon, 18 Sep 2017 03:41:19 +0000 (13:41 +1000)]
storage: Don't add empty mmaps to the mmap span
Matt Joiner [Mon, 18 Sep 2017 03:40:36 +0000 (13:40 +1000)]
Only run connection.Close once
Avoids unnecessary error messages for net.Conn.Close
Matt Joiner [Mon, 18 Sep 2017 02:19:34 +0000 (12:19 +1000)]
Improve mmap storage error messages
Trying to map unusual Info's gave unhelpful messages.
Matt Joiner [Mon, 18 Sep 2017 02:17:28 +0000 (12:17 +1000)]
test.sh: Unmount and wait for torrentfs to return after completion
Matt Joiner [Mon, 18 Sep 2017 02:16:59 +0000 (12:16 +1000)]
Log errors closing connection net.Conn's
Matt Joiner [Mon, 18 Sep 2017 02:16:05 +0000 (12:16 +1000)]
Rename fs/unwedge-tests so it gets synced to test servers
Matt Joiner [Mon, 18 Sep 2017 02:15:14 +0000 (12:15 +1000)]
Use badStorage for TestPeerInvalidHave
Matt Joiner [Mon, 18 Sep 2017 02:14:16 +0000 (12:14 +1000)]
Remove test temporary directories when finished
They're all grouped together in a parent directory that gets removed. Testing with mmap storage can generate very large files on bad filesystems.
Matt Joiner [Mon, 18 Sep 2017 02:09:08 +0000 (12:09 +1000)]
Move uploading to the connection writer
Matt Joiner [Sat, 16 Sep 2017 14:45:12 +0000 (00:45 +1000)]
Comment and formatting
Matt Joiner [Sat, 16 Sep 2017 14:44:09 +0000 (00:44 +1000)]
Fix build error
Matt Joiner [Sat, 16 Sep 2017 14:20:00 +0000 (00:20 +1000)]
Merge pull request #188 from boramalper/KnownSwarm
added the initial version of the (t *Torrent) KnownSwarm() function
Bora M. Alper [Sat, 16 Sep 2017 10:48:16 +0000 (11:48 +0100)]
added support for half-open peers in KnownSwarm() function
Matt Joiner [Fri, 15 Sep 2017 09:35:16 +0000 (19:35 +1000)]
Make type piece public
Matt Joiner [Fri, 15 Sep 2017 09:34:42 +0000 (19:34 +1000)]
fs: Fix tests now that data verification isn't automatic
Matt Joiner [Fri, 15 Sep 2017 09:22:32 +0000 (19:22 +1000)]
Don't verify data at startup, add Torrent.Piece.VerifyData and Torrent.VerifyData for this purpose
This has the side effect of deflaking a lot of tests that race to verify data when a torrent is added.
Matt Joiner [Fri, 15 Sep 2017 09:10:09 +0000 (19:10 +1000)]
Include peer data with half open connections
Matt Joiner [Fri, 15 Sep 2017 02:56:54 +0000 (12:56 +1000)]
Herp
Matt Joiner [Fri, 15 Sep 2017 02:56:15 +0000 (12:56 +1000)]
Add some expvars to track uTP/TCP and PHE fallbacks for outgoing connections
Matt Joiner [Fri, 15 Sep 2017 02:54:29 +0000 (12:54 +1000)]
mse: Make plaintext mode the default when protocol header encryption is in use
Matt Joiner [Wed, 13 Sep 2017 14:25:29 +0000 (00:25 +1000)]
Fix panic when error occurs binding uTP socket
Fixes #187.
Matt Joiner [Wed, 13 Sep 2017 08:20:20 +0000 (18:20 +1000)]
Support plaintext crypto method for protocol header encryption
Matt Joiner [Wed, 13 Sep 2017 06:19:14 +0000 (16:19 +1000)]
mse: Support plaintext crypto mode
Matt Joiner [Wed, 13 Sep 2017 06:18:15 +0000 (16:18 +1000)]
mse: Error if initial payload exceeds maximum size
Matt Joiner [Tue, 12 Sep 2017 15:00:43 +0000 (01:00 +1000)]
mse: Reuse writer write buffer
Matt Joiner [Tue, 12 Sep 2017 14:58:54 +0000 (00:58 +1000)]
mse: Add a read/write benchmark
Bora M. Alper [Tue, 12 Sep 2017 14:22:53 +0000 (15:22 +0100)]
added the initial version of the (t *Torrent) KnownSwarm() function
Matt Joiner [Tue, 12 Sep 2017 11:32:01 +0000 (21:32 +1000)]
peer_protocol: Improve piece decoding benchmark
Matt Joiner [Tue, 12 Sep 2017 11:12:56 +0000 (21:12 +1000)]
peer_protocol: Add a benchmark for decoding pieces
Matt Joiner [Tue, 12 Sep 2017 09:30:05 +0000 (19:30 +1000)]
mse: Remove unused function
Matt Joiner [Tue, 12 Sep 2017 08:32:40 +0000 (18:32 +1000)]
Merge branch 'master' into pull-writer
Matt Joiner [Tue, 12 Sep 2017 08:31:10 +0000 (18:31 +1000)]
storage: Add TODO about handling Close errors
Matt Joiner [Tue, 12 Sep 2017 08:30:54 +0000 (18:30 +1000)]
README: Improve wording around torrent as a library
Matt Joiner [Tue, 12 Sep 2017 08:30:06 +0000 (18:30 +1000)]
The bencode README is markdown
Matt Joiner [Tue, 12 Sep 2017 08:28:35 +0000 (18:28 +1000)]
Merge pull request #185 from mh-cbon/patch-1
Update README
Matt Joiner [Tue, 12 Sep 2017 08:26:14 +0000 (18:26 +1000)]
Remove mention of the mobile branch from README
mh-cbon [Tue, 5 Sep 2017 14:42:37 +0000 (16:42 +0200)]
Update README
Matt Joiner [Sat, 2 Sep 2017 00:36:43 +0000 (10:36 +1000)]
Optimize nextRequestState to return cancel and new requests, and reinstate requestsLowWater
Matt Joiner [Fri, 1 Sep 2017 05:26:50 +0000 (15:26 +1000)]
Wrap writerCond in tickleWriter and be more selective about using it
Matt Joiner [Fri, 1 Sep 2017 05:22:08 +0000 (15:22 +1000)]
TestUTPRawConn: More tidying, and slow down the rate
Matt Joiner [Fri, 1 Sep 2017 05:09:10 +0000 (15:09 +1000)]
Use require in some places in TestUTPRawConn
Matt Joiner [Fri, 1 Sep 2017 02:09:41 +0000 (12:09 +1000)]
Avoid triggering writer cond where possible
Matt Joiner [Fri, 1 Sep 2017 00:53:59 +0000 (10:53 +1000)]
Track buffered but not posted messages, and unify the expvar names for those counters
Matt Joiner [Fri, 1 Sep 2017 00:46:26 +0000 (10:46 +1000)]
Remove unused code
Matt Joiner [Fri, 1 Sep 2017 00:36:43 +0000 (10:36 +1000)]
Add some variables to track fillBuffer effectiveness
Matt Joiner [Fri, 1 Sep 2017 00:35:40 +0000 (10:35 +1000)]
cmd/torrent: Enhance debugging
Matt Joiner [Thu, 31 Aug 2017 13:48:52 +0000 (23:48 +1000)]
Generate requests, cancels and interest state in the connection writer
Matt Joiner [Thu, 31 Aug 2017 06:26:45 +0000 (16:26 +1000)]
Make connection.writer pull from a buffer
Matt Joiner [Thu, 31 Aug 2017 06:25:49 +0000 (16:25 +1000)]
Panics while decoding messages in connection.mainLoopRead would trigger more panics
Matt Joiner [Thu, 31 Aug 2017 04:32:22 +0000 (14:32 +1000)]
Keep rate limited reader reads to within the burst capacity
Matt Joiner [Thu, 31 Aug 2017 04:30:53 +0000 (14:30 +1000)]
Add peer_protocol.Message.MustMarshalBinary
Matt Joiner [Tue, 29 Aug 2017 05:16:53 +0000 (15:16 +1000)]
Synchronize Torrent.Info