]>
Sergey Matveev's repositories - btrtrc.git/log
Matt Joiner [Fri, 29 Dec 2017 01:15:33 +0000 (12:15 +1100)]
Survive panics while writing chunks
Also improve the comment on that code
Matt Joiner [Thu, 28 Dec 2017 12:59:30 +0000 (23:59 +1100)]
When queuing a piece for hashing after receiving a chunk, clear all the dirty chunks
This should fix a bug triggered by storage inconsistencies.
Matt Joiner [Thu, 28 Dec 2017 12:58:07 +0000 (23:58 +1100)]
Improve a log message
Matt Joiner [Thu, 28 Dec 2017 10:05:55 +0000 (21:05 +1100)]
Merge pull request #219 from elgatito/http_user_agent
adding http user-agent setters and usage
Denis Kuzmenok [Thu, 28 Dec 2017 08:47:51 +0000 (10:47 +0200)]
adding http user-agent setters and usage
Denis [Wed, 6 Dec 2017 00:56:26 +0000 (02:56 +0200)]
added disable_libutp build flag usage (#215)
Matt Joiner [Sun, 3 Dec 2017 02:44:37 +0000 (13:44 +1100)]
Log dropping of bad peers in debug mode only
Matt Joiner [Sun, 3 Dec 2017 02:44:08 +0000 (13:44 +1100)]
missinggo.LimitLen changed
Matt Joiner [Sat, 2 Dec 2017 13:35:09 +0000 (00:35 +1100)]
Code comments
Matt Joiner [Fri, 1 Dec 2017 23:26:09 +0000 (10:26 +1100)]
Test that mmap size doesn't exceed system memory address width
Should fix http://paste.ubuntu.com/
26074620 /
Matt Joiner [Fri, 1 Dec 2017 23:01:27 +0000 (10:01 +1100)]
Fix panic in Torrent.addrActive if there are closed connections
Fixes #214
Matt Joiner [Fri, 1 Dec 2017 22:58:08 +0000 (09:58 +1100)]
Fix the Stats panic in #214
Matt Joiner [Fri, 1 Dec 2017 12:09:07 +0000 (23:09 +1100)]
Synchronize access to storage
Matt Joiner [Fri, 1 Dec 2017 12:08:53 +0000 (23:08 +1100)]
Remove racy part of test
Matt Joiner [Fri, 1 Dec 2017 07:13:21 +0000 (18:13 +1100)]
Improve issue #211 test name
Matt Joiner [Fri, 1 Dec 2017 07:12:29 +0000 (18:12 +1100)]
sortimports
Matt Joiner [Fri, 1 Dec 2017 07:11:20 +0000 (18:11 +1100)]
Add test for #211
Matt Joiner [Fri, 1 Dec 2017 06:58:42 +0000 (17:58 +1100)]
Torrent.bytesLeft was taking a copy instead of pointer to Piece
Matt Joiner [Fri, 1 Dec 2017 03:03:05 +0000 (14:03 +1100)]
Publish piece state changes after verifying piece
Matt Joiner [Fri, 10 Nov 2017 12:44:24 +0000 (23:44 +1100)]
bencode.scanner.ReadByte returned errors when it shouldn't have
Matt Joiner [Wed, 8 Nov 2017 10:34:24 +0000 (21:34 +1100)]
bencode: Handle encoding big.Ints
Matt Joiner [Wed, 8 Nov 2017 09:58:35 +0000 (20:58 +1100)]
bencode: Tidy import block
Matt Joiner [Wed, 8 Nov 2017 09:23:15 +0000 (20:23 +1100)]
Merge commit '
6ab65a49a8a72dea1a28968b2ab42a85fd4566ec '
# Conflicts:
# config.go
Matt Joiner [Wed, 8 Nov 2017 08:57:05 +0000 (19:57 +1100)]
metainfo: Omit empty Metainfo.InfoBytes
Matt Joiner [Wed, 8 Nov 2017 08:56:20 +0000 (19:56 +1100)]
Torrent.Metainfo: Don't return incomplete metadata bytes
Fixes #208
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
themihai [Tue, 7 Nov 2017 18:14:13 +0000 (20:14 +0200)]
feat(config): Allows the torrent client to customise the client identity and connection config
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