]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
6 years agoAdd mse.CryptoMethod type
Matt Joiner [Thu, 15 Feb 2018 23:36:29 +0000 (10:36 +1100)]
Add mse.CryptoMethod type

6 years agoChange some connection flag strings to avoid collision
Matt Joiner [Thu, 15 Feb 2018 05:04:42 +0000 (16:04 +1100)]
Change some connection flag strings to avoid collision

6 years agoAdd a check for a strange panic in production
Matt Joiner [Thu, 15 Feb 2018 05:03:44 +0000 (16:03 +1100)]
Add a check for a strange panic in production

6 years agoAdd extra pedantic checks to requesting to try and flush out @deranjer's panics
Matt Joiner [Thu, 15 Feb 2018 04:21:51 +0000 (15:21 +1100)]
Add extra pedantic checks to requesting to try and flush out @deranjer's panics

6 years agoTrack IPv6 peers received over PEX and simplify the adding code
Matt Joiner [Thu, 15 Feb 2018 03:43:57 +0000 (14:43 +1100)]
Track IPv6 peers received over PEX and simplify the adding code

6 years agoRemove errant log message
Matt Joiner [Tue, 13 Feb 2018 14:14:05 +0000 (01:14 +1100)]
Remove errant log message

6 years agoAdd a bunch of TODOs
Matt Joiner [Tue, 13 Feb 2018 00:18:23 +0000 (11:18 +1100)]
Add a bunch of TODOs

6 years agoCount errors returned from connection.mainReadLoop
Matt Joiner [Mon, 12 Feb 2018 13:56:21 +0000 (00:56 +1100)]
Count errors returned from connection.mainReadLoop

6 years agobencode.Decoder.Decode: Don't assume panic values are type error
Matt Joiner [Mon, 12 Feb 2018 13:55:15 +0000 (00:55 +1100)]
bencode.Decoder.Decode: Don't assume panic values are type error

6 years agoSupport IPv6 peers over PEX
Matt Joiner [Mon, 12 Feb 2018 13:50:32 +0000 (00:50 +1100)]
Support IPv6 peers over PEX

6 years agoTry to count IPv6 connections
Matt Joiner [Mon, 12 Feb 2018 13:48:21 +0000 (00:48 +1100)]
Try to count IPv6 connections

6 years agobencode: Support unmarshalling strings into slices of kind Uint8
Matt Joiner [Mon, 12 Feb 2018 13:44:05 +0000 (00:44 +1100)]
bencode: Support unmarshalling strings into slices of kind Uint8

6 years agotracker: Support peers6 key in http responses
Matt Joiner [Mon, 12 Feb 2018 13:23:07 +0000 (00:23 +1100)]
tracker: Support peers6 key in http responses

6 years agobencode: Unmarshal now returns an error on unused trailing bytes
Matt Joiner [Mon, 12 Feb 2018 13:21:28 +0000 (00:21 +1100)]
bencode: Unmarshal now returns an error on unused trailing bytes

6 years agotracker: Export vars
Matt Joiner [Mon, 12 Feb 2018 13:19:37 +0000 (00:19 +1100)]
tracker: Export vars

6 years agotracker: Move Peer into the correct file
Matt Joiner [Mon, 12 Feb 2018 12:49:33 +0000 (23:49 +1100)]
tracker: Move Peer into the correct file

6 years agoUpdate test trackers
Matt Joiner [Mon, 12 Feb 2018 12:49:05 +0000 (23:49 +1100)]
Update test trackers

6 years agoFix TestSetMaxEstablishedConn and allow it to be run with -count > 1
Matt Joiner [Sun, 11 Feb 2018 04:14:31 +0000 (15:14 +1100)]
Fix TestSetMaxEstablishedConn and allow it to be run with -count > 1

Similar changes should occur to other tests exporting StatusWriters.

6 years agoStandardize on krpc types, and extend PEX message type for IPv6
Matt Joiner [Sun, 11 Feb 2018 04:13:00 +0000 (15:13 +1100)]
Standardize on krpc types, and extend PEX message type for IPv6

6 years agoSupport IPv6 blocklists
Matt Joiner [Sun, 11 Feb 2018 04:11:26 +0000 (15:11 +1100)]
Support IPv6 blocklists

Existing packed blocklists need to be regenerated.

6 years agoExpose Client.Closed
Matt Joiner [Thu, 8 Feb 2018 12:57:53 +0000 (23:57 +1100)]
Expose Client.Closed

6 years agoThere was no error for missing file, and no way to close the mmap returned from iplis...
Matt Joiner [Thu, 8 Feb 2018 12:57:35 +0000 (23:57 +1100)]
There was no error for missing file, and no way to close the mmap returned from iplist.MmapPacked

The function is also renamed due to the changed behaviour.

6 years agoCount peers not added because of bad addresses and rearrange method
Matt Joiner [Thu, 8 Feb 2018 12:55:28 +0000 (23:55 +1100)]
Count peers not added because of bad addresses and rearrange method

6 years agoRaise default torrent peers highwater to 500
Matt Joiner [Thu, 8 Feb 2018 12:52:54 +0000 (23:52 +1100)]
Raise default torrent peers highwater to 500

6 years agoSimplify crypto select func
Matt Joiner [Thu, 8 Feb 2018 12:52:31 +0000 (23:52 +1100)]
Simplify crypto select func

6 years agoFixes for non-pointer Bitmap corrupting state
Matt Joiner [Thu, 8 Feb 2018 04:08:33 +0000 (15:08 +1100)]
Fixes for non-pointer Bitmap corrupting state

6 years agoRemove uploadChunksPosted expvar
Matt Joiner [Wed, 7 Feb 2018 02:57:50 +0000 (13:57 +1100)]
Remove uploadChunksPosted expvar

Use messageTypesPosted.Piece

6 years agoRaise the nominal max requests for connections that download lots of useful chunks
Matt Joiner [Mon, 5 Feb 2018 07:49:55 +0000 (18:49 +1100)]
Raise the nominal max requests for connections that download lots of useful chunks

Massive speed increases for some connections.

6 years agoSimplify the utpSocket interface definition
Matt Joiner [Mon, 5 Feb 2018 07:03:27 +0000 (18:03 +1100)]
Simplify the utpSocket interface definition

6 years agoFix fast extension message type constants
Matt Joiner [Mon, 5 Feb 2018 07:00:47 +0000 (18:00 +1100)]
Fix fast extension message type constants

iota isn't worth the trouble

6 years agoChange a bunch of Stringer and status stuff
Matt Joiner [Mon, 5 Feb 2018 06:47:47 +0000 (17:47 +1100)]
Change a bunch of Stringer and status stuff

Cumulative interest time, download rate per connection, request low and high waters, peer extension bytes

6 years agoSend bitfield messages before other initial messages
Matt Joiner [Mon, 5 Feb 2018 06:41:53 +0000 (17:41 +1100)]
Send bitfield messages before other initial messages

6 years agoUse stringer to generate peer_protocol.MessageType strings
Matt Joiner [Mon, 5 Feb 2018 04:30:35 +0000 (15:30 +1100)]
Use stringer to generate peer_protocol.MessageType strings

6 years agoSupport AllowedFast and enable fast extension
Matt Joiner [Sun, 4 Feb 2018 13:18:38 +0000 (00:18 +1100)]
Support AllowedFast and enable fast extension

6 years agoAggressively wake Readers
Matt Joiner [Sun, 4 Feb 2018 11:47:01 +0000 (22:47 +1100)]
Aggressively wake Readers

6 years agoFix the connection completed string if peer sent HaveAll
Matt Joiner [Sun, 4 Feb 2018 11:43:28 +0000 (22:43 +1100)]
Fix the connection completed string if peer sent HaveAll

6 years agoFinish mainReadLoop on Torrent closed
Matt Joiner [Sun, 4 Feb 2018 08:14:46 +0000 (19:14 +1100)]
Finish mainReadLoop on Torrent closed

6 years agoTODOs and comments
Matt Joiner [Sun, 4 Feb 2018 08:14:07 +0000 (19:14 +1100)]
TODOs and comments

6 years agoSupport sending HaveAll
Matt Joiner [Sun, 4 Feb 2018 08:10:25 +0000 (19:10 +1100)]
Support sending HaveAll

6 years agoconnections should not be added if the Torrent is closed
Matt Joiner [Sun, 4 Feb 2018 02:00:08 +0000 (13:00 +1100)]
connections should not be added if the Torrent is closed

6 years agoMove initiateConn and openNewConns onto Torrent
Matt Joiner [Sun, 4 Feb 2018 01:59:23 +0000 (12:59 +1100)]
Move initiateConn and openNewConns onto Torrent

6 years agoTickle sleeping writers when closing connections
Matt Joiner [Sat, 3 Feb 2018 04:44:03 +0000 (15:44 +1100)]
Tickle sleeping writers when closing connections

This prevents them sleeping for an indefinite period (although something seemed to wake them eventually).

6 years agoWasn't recording posted message stats
Matt Joiner [Sat, 3 Feb 2018 04:29:06 +0000 (15:29 +1100)]
Wasn't recording posted message stats

6 years agoUse flip buffering for connection writing
Matt Joiner [Sat, 3 Feb 2018 04:09:38 +0000 (15:09 +1100)]
Use flip buffering for connection writing

6 years agoShare the post write buffer with the synchronous one in the connection writer
Matt Joiner [Sat, 3 Feb 2018 03:40:03 +0000 (14:40 +1100)]
Share the post write buffer with the synchronous one in the connection writer

This should prevent messages posted while generating synchronous messages don't get out of order.

6 years agoMove extended message handling into its own method
Matt Joiner [Sat, 3 Feb 2018 03:06:10 +0000 (14:06 +1100)]
Move extended message handling into its own method

6 years agoGenerate default peerExtensionBytes using helpers
Matt Joiner [Sat, 3 Feb 2018 02:36:17 +0000 (13:36 +1100)]
Generate default peerExtensionBytes using helpers

6 years agoPrepare to support sending reject messages
Matt Joiner [Sat, 3 Feb 2018 02:35:09 +0000 (13:35 +1100)]
Prepare to support sending reject messages

6 years agoFix peerExtensionBytes.SetBit
Matt Joiner [Sat, 3 Feb 2018 02:29:48 +0000 (13:29 +1100)]
Fix peerExtensionBytes.SetBit

6 years agoPiece.everHashed is replaced by storageCompletionOk
Matt Joiner [Sat, 3 Feb 2018 01:14:39 +0000 (12:14 +1100)]
Piece.everHashed is replaced by storageCompletionOk

6 years agoInclude closed connections in dirtiers
Matt Joiner [Sat, 3 Feb 2018 01:08:16 +0000 (12:08 +1100)]
Include closed connections in dirtiers

6 years agoUse new logging in connection.go
Matt Joiner [Sat, 3 Feb 2018 01:06:52 +0000 (12:06 +1100)]
Use new logging in connection.go

6 years agoAdd missing increments to some stats
Matt Joiner [Sat, 3 Feb 2018 00:53:11 +0000 (11:53 +1100)]
Add missing increments to some stats

6 years agoRename and rearrange some conn stats
Matt Joiner [Fri, 2 Feb 2018 13:41:13 +0000 (00:41 +1100)]
Rename and rearrange some conn stats

6 years agorequest can be made from Reject and Cancel messages too
Matt Joiner [Fri, 2 Feb 2018 12:56:06 +0000 (23:56 +1100)]
request can be made from Reject and Cancel messages too

6 years agoTry to print something useful for MessageType panics
Matt Joiner [Fri, 2 Feb 2018 10:52:57 +0000 (21:52 +1100)]
Try to print something useful for MessageType panics

6 years agoBreak up peer_protocol into several files
Matt Joiner [Fri, 2 Feb 2018 10:29:57 +0000 (21:29 +1100)]
Break up peer_protocol into several files

6 years agoImplement go vet recommendations
Matt Joiner [Fri, 2 Feb 2018 08:28:09 +0000 (19:28 +1100)]
Implement go vet recommendations

6 years agoFactor out connection.onReadRequest
Matt Joiner [Fri, 2 Feb 2018 08:19:14 +0000 (19:19 +1100)]
Factor out connection.onReadRequest

6 years agoRework connection stat reconciliation with Torrent and refactor doppleganger handling
Matt Joiner [Fri, 2 Feb 2018 08:07:20 +0000 (19:07 +1100)]
Rework connection stat reconciliation with Torrent and refactor doppleganger handling

6 years agoMerge a bunch of stuff into ConnStats and refactor connection.upload
Matt Joiner [Fri, 2 Feb 2018 08:04:56 +0000 (19:04 +1100)]
Merge a bunch of stuff into ConnStats and refactor connection.upload

6 years agoCount requested chunk lengths
Matt Joiner [Fri, 2 Feb 2018 05:06:24 +0000 (16:06 +1100)]
Count requested chunk lengths

Have seen some very ridiculous lengths causing data read errors

6 years agoconnection.writer wasn't checking closed state
Matt Joiner [Fri, 2 Feb 2018 02:36:18 +0000 (13:36 +1100)]
connection.writer wasn't checking closed state

6 years agoMissed sendChunk invocation change
Matt Joiner [Fri, 2 Feb 2018 02:34:35 +0000 (13:34 +1100)]
Missed sendChunk invocation change

6 years agoMove sendChunk onto connection
Matt Joiner [Fri, 2 Feb 2018 02:26:04 +0000 (13:26 +1100)]
Move sendChunk onto connection

6 years agoWhen seeding, connections are not just useful when they're interested
Matt Joiner [Thu, 1 Feb 2018 07:49:53 +0000 (18:49 +1100)]
When seeding, connections are not just useful when they're interested

Improves peer selection when seeding is enabled, we're still downloading.

6 years agoSome changes to status output
Matt Joiner [Thu, 1 Feb 2018 07:45:58 +0000 (18:45 +1100)]
Some changes to status output

6 years agoMerge piece and chunk iter inputs to nextRequestState
Matt Joiner [Thu, 1 Feb 2018 05:14:13 +0000 (16:14 +1100)]
Merge piece and chunk iter inputs to nextRequestState

This will allow the iterator to filter chunks for request strategies.

6 years agoCode comments
Matt Joiner [Thu, 1 Feb 2018 03:46:48 +0000 (14:46 +1100)]
Code comments

6 years agoTrack concurrent requests across connections
Matt Joiner [Thu, 1 Feb 2018 03:46:03 +0000 (14:46 +1100)]
Track concurrent requests across connections

In preparation for some more request strategy options

6 years agoTestClientTransferRateLimitedUpload: Export client status
Matt Joiner [Thu, 1 Feb 2018 03:43:57 +0000 (14:43 +1100)]
TestClientTransferRateLimitedUpload: Export client status

6 years agosortimports
Matt Joiner [Wed, 31 Jan 2018 05:42:40 +0000 (16:42 +1100)]
sortimports

6 years agoUpdate context imports
Matt Joiner [Wed, 31 Jan 2018 05:42:26 +0000 (16:42 +1100)]
Update context imports

6 years agoFix panic in benchmark caused by new logging
Matt Joiner [Mon, 29 Jan 2018 08:16:55 +0000 (19:16 +1100)]
Fix panic in benchmark caused by new logging

6 years agoAdd some sanity checks to priorities extracted from Torrent.pendingPieces
Matt Joiner [Mon, 29 Jan 2018 07:21:37 +0000 (18:21 +1100)]
Add some sanity checks to priorities extracted from Torrent.pendingPieces

6 years agoSome test tidying and improvements
Matt Joiner [Mon, 29 Jan 2018 07:20:48 +0000 (18:20 +1100)]
Some test tidying and improvements

6 years agoMore development of the new logging interface
Matt Joiner [Mon, 29 Jan 2018 07:19:53 +0000 (18:19 +1100)]
More development of the new logging interface

6 years agoAdd Torrent.Stats.ConnectedSeeders
Matt Joiner [Mon, 29 Jan 2018 07:18:08 +0000 (18:18 +1100)]
Add Torrent.Stats.ConnectedSeeders

Fixes #231

6 years agoUpdate README.md
Matt Joiner [Sun, 28 Jan 2018 07:43:16 +0000 (18:43 +1100)]
Update README.md

Few small nitpicks.

6 years agoUpdate README.md
Matt Joiner [Sun, 28 Jan 2018 07:37:06 +0000 (18:37 +1100)]
Update README.md

Big changes to description, links, and downstream projects

6 years agoUpdate README.md
Matt Joiner [Sun, 28 Jan 2018 06:43:28 +0000 (17:43 +1100)]
Update README.md

Reorder the badges, I want to direct more people to the Gitter chat.

6 years agoStart using new log package
Matt Joiner [Sun, 28 Jan 2018 05:07:11 +0000 (16:07 +1100)]
Start using new log package

6 years agoSynchronize piece completion on piece hash failure
Matt Joiner [Sun, 28 Jan 2018 05:02:14 +0000 (16:02 +1100)]
Synchronize piece completion on piece hash failure

Pieces that were unknown, remained unknown despite hashing for that very reason.

6 years agoInclude completion known in PieceState
Matt Joiner [Sun, 28 Jan 2018 04:58:55 +0000 (15:58 +1100)]
Include completion known in PieceState

6 years agoRemove premature update to piece priority after piece is completed
Matt Joiner [Sun, 28 Jan 2018 04:52:14 +0000 (15:52 +1100)]
Remove premature update to piece priority after piece is completed

This should have prevented Torrent.piecePriorityChanged from being called, meaning requests for the completed piece were not canceled, and the piece remained in connection's piece request queue, which meant wasted effort downloading chunks for an already acquired piece.

Thanks to @elgatito for discovering the issue.

6 years agoUpdate Client.newConnection with changed rateLimitedReader interface
Matt Joiner [Sun, 28 Jan 2018 04:42:37 +0000 (15:42 +1100)]
Update Client.newConnection with changed rateLimitedReader interface

6 years agoFix download rate limiter and add test
Matt Joiner [Sun, 28 Jan 2018 04:28:45 +0000 (15:28 +1100)]
Fix download rate limiter and add test

6 years agoAvoid race in test
Matt Joiner [Sat, 27 Jan 2018 03:31:31 +0000 (14:31 +1100)]
Avoid race in test

6 years agobencode: Add ignore_unmarshal_type_error tag
Matt Joiner [Sat, 27 Jan 2018 03:31:12 +0000 (14:31 +1100)]
bencode: Add ignore_unmarshal_type_error tag

6 years agoInclude torrent stats in status
Matt Joiner [Sat, 27 Jan 2018 01:02:05 +0000 (12:02 +1100)]
Include torrent stats in status

6 years agoImprove Torrent.BytesCompleted comment
Matt Joiner [Sat, 27 Jan 2018 01:01:09 +0000 (12:01 +1100)]
Improve Torrent.BytesCompleted comment

6 years agoUpdate LICENSE
Matt Joiner [Sat, 27 Jan 2018 00:21:33 +0000 (11:21 +1100)]
Update LICENSE

6 years agobencode: Give more descriptive errors when failing to parse dicts
Matt Joiner [Thu, 25 Jan 2018 10:46:50 +0000 (21:46 +1100)]
bencode: Give more descriptive errors when failing to parse dicts

6 years agoFix peer_protocol benchmark
Matt Joiner [Thu, 25 Jan 2018 06:43:45 +0000 (17:43 +1100)]
Fix peer_protocol benchmark

6 years agoAdd TODO
Matt Joiner [Thu, 25 Jan 2018 06:43:33 +0000 (17:43 +1100)]
Add TODO

6 years agoFix benchmark job in CI
Matt Joiner [Thu, 25 Jan 2018 06:20:07 +0000 (17:20 +1100)]
Fix benchmark job in CI

6 years agoAdd separate piece priorities, and cache pending pieces
Matt Joiner [Thu, 25 Jan 2018 06:18:36 +0000 (17:18 +1100)]
Add separate piece priorities, and cache pending pieces

Should fix a bug where prioritizing files is not alone sufficient to trigger downloading.

6 years agoAdd Torrent.setInfo
Matt Joiner [Thu, 25 Jan 2018 06:10:37 +0000 (17:10 +1100)]
Add Torrent.setInfo

6 years agoImprove some comments
Matt Joiner [Thu, 25 Jan 2018 06:02:52 +0000 (17:02 +1100)]
Improve some comments

6 years agoFix file piece index offset calculations
Matt Joiner [Thu, 25 Jan 2018 06:01:29 +0000 (17:01 +1100)]
Fix file piece index offset calculations