]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
6 years agoRework conns to/and allow multiple DHT servers
Matt Joiner [Thu, 12 Apr 2018 01:41:07 +0000 (11:41 +1000)]
Rework conns to/and allow multiple DHT servers

This will help with #229, and IPv6 support.

6 years agopackage assert->expect
Matt Joiner [Thu, 12 Apr 2018 01:34:24 +0000 (11:34 +1000)]
package assert->expect

6 years agoPrioritize pending nodes with BEP 40
Matt Joiner [Wed, 4 Apr 2018 07:59:28 +0000 (17:59 +1000)]
Prioritize pending nodes with BEP 40

6 years agoExpose public IPv4 and IPv6 config options and use them with trackers
Matt Joiner [Thu, 29 Mar 2018 03:29:15 +0000 (14:29 +1100)]
Expose public IPv4 and IPv6 config options and use them with trackers

6 years agoStart implementing BEP 40
Matt Joiner [Thu, 29 Mar 2018 03:27:48 +0000 (14:27 +1100)]
Start implementing BEP 40

6 years agogithub.com/go-fsnotify/fsnotify -> github.com/fsnotify/fsnotify
Matt Joiner [Tue, 27 Mar 2018 06:31:52 +0000 (17:31 +1100)]
github.com/go-fsnotify/fsnotify -> github.com/fsnotify/fsnotify

6 years agotracker: Set UDP IPAddress field in announces
Matt Joiner [Wed, 21 Feb 2018 02:33:12 +0000 (13:33 +1100)]
tracker: Set UDP IPAddress field in announces

6 years agocmd/torrent: Add packed-blocklist flag
Matt Joiner [Mon, 19 Feb 2018 05:20:31 +0000 (16:20 +1100)]
cmd/torrent: Add packed-blocklist flag

6 years agocmd/tracker-announce: Rework to be faster and support UDP IPv6
Matt Joiner [Mon, 19 Feb 2018 05:20:08 +0000 (16:20 +1100)]
cmd/tracker-announce: Rework to be faster and support UDP IPv6

6 years agoIPv6 tracker support
Matt Joiner [Mon, 19 Feb 2018 05:19:18 +0000 (16:19 +1100)]
IPv6 tracker support

6 years agoTrackers shown are just the enabled ones
Matt Joiner [Sat, 17 Feb 2018 00:13:48 +0000 (11:13 +1100)]
Trackers shown are just the enabled ones

6 years agoAdjust some config defaults
Matt Joiner [Fri, 16 Feb 2018 01:15:56 +0000 (12:15 +1100)]
Adjust some config defaults

6 years agoMake half-open connection limit more dynamic
Matt Joiner [Fri, 16 Feb 2018 01:15:07 +0000 (12:15 +1100)]
Make half-open connection limit more dynamic

6 years agoMove clamp and max, and add min to misc.go
Matt Joiner [Fri, 16 Feb 2018 01:14:15 +0000 (12:14 +1100)]
Move clamp and max, and add min to misc.go

6 years agoTODO
Matt Joiner [Fri, 16 Feb 2018 00:03:21 +0000 (11:03 +1100)]
TODO

6 years agoSet the connection.cryptoMethod
Matt Joiner [Thu, 15 Feb 2018 23:59:56 +0000 (10:59 +1100)]
Set the connection.cryptoMethod

It was unwittingly dropped from received connections, and may never have been set for initiated connections.

6 years agoAdd support for disabling IPv4 and IPv4 peers
Matt Joiner [Thu, 15 Feb 2018 23:46:11 +0000 (10:46 +1100)]
Add support for disabling IPv4 and IPv4 peers

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.