]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
10 years agoAdd some extra char flags to connection status
Matt Joiner [Wed, 9 Jul 2014 14:16:09 +0000 (00:16 +1000)]
Add some extra char flags to connection status

10 years agodht-get-peers: Some improvements
Matt Joiner [Wed, 9 Jul 2014 14:15:28 +0000 (00:15 +1000)]
dht-get-peers: Some improvements

10 years agotorrent-infohash: utility to print the info hash of a torrent file
Matt Joiner [Wed, 9 Jul 2014 14:15:03 +0000 (00:15 +1000)]
torrent-infohash: utility to print the info hash of a torrent file

10 years agoStart a simpler replacement for davecheney's profile package
Matt Joiner [Wed, 9 Jul 2014 14:14:19 +0000 (00:14 +1000)]
Start a simpler replacement for davecheney's profile package

10 years agodht: Concurrency improvements and fixes to bootstrapping and getting peers
Matt Joiner [Wed, 9 Jul 2014 14:13:54 +0000 (00:13 +1000)]
dht: Concurrency improvements and fixes to bootstrapping and getting peers

10 years agoFix crash quitting when accept conn is closed
Matt Joiner [Thu, 3 Jul 2014 15:44:15 +0000 (01:44 +1000)]
Fix crash quitting when accept conn is closed

10 years agoImplement dht-get-peers command and GetPeers method in dht package
Matt Joiner [Thu, 3 Jul 2014 15:43:04 +0000 (01:43 +1000)]
Implement dht-get-peers command and GetPeers method in dht package

10 years agoMove compactPeers type to util package
Matt Joiner [Thu, 3 Jul 2014 15:41:46 +0000 (01:41 +1000)]
Move compactPeers type to util package

10 years agoFix crash when peer has only sent lower-index HAVE messages
Matt Joiner [Mon, 30 Jun 2014 14:06:58 +0000 (00:06 +1000)]
Fix crash when peer has only sent lower-index HAVE messages

10 years agoImprove some log messages
Matt Joiner [Mon, 30 Jun 2014 14:05:28 +0000 (00:05 +1000)]
Improve some log messages

10 years agoRecord if a connection was incoming
Matt Joiner [Mon, 30 Jun 2014 14:04:28 +0000 (00:04 +1000)]
Record if a connection was incoming

10 years agoA CPU optimization to FillRequests when we know no more can be added
Matt Joiner [Mon, 30 Jun 2014 14:03:07 +0000 (00:03 +1000)]
A CPU optimization to FillRequests when we know no more can be added

10 years agoDisable request heat assertion for now
Matt Joiner [Sun, 29 Jun 2014 14:22:36 +0000 (00:22 +1000)]
Disable request heat assertion for now

Probably want a flag to do intensive checks like this

10 years agoMove download strategies into their own file
Matt Joiner [Sun, 29 Jun 2014 14:22:05 +0000 (00:22 +1000)]
Move download strategies into their own file

10 years agoSome minor tweaks
Matt Joiner [Sun, 29 Jun 2014 09:10:59 +0000 (19:10 +1000)]
Some minor tweaks

10 years agoFix crash writing torrent status before priorities are initialized
Matt Joiner [Sun, 29 Jun 2014 09:08:46 +0000 (19:08 +1000)]
Fix crash writing torrent status before priorities are initialized

10 years agoFix a race where the last piece of a torrent is requested before it's been hashed
Matt Joiner [Sun, 29 Jun 2014 09:08:16 +0000 (19:08 +1000)]
Fix a race where the last piece of a torrent is requested before it's been hashed

10 years agoAdd peers sent over PEX
Matt Joiner [Sun, 29 Jun 2014 09:07:43 +0000 (19:07 +1000)]
Add peers sent over PEX

10 years agoAdd support for extended handshake "v", "reqq", and "p" fields
Matt Joiner [Sun, 29 Jun 2014 08:57:49 +0000 (18:57 +1000)]
Add support for extended handshake "v", "reqq", and "p" fields

10 years agoFix crash printing client status when a torrent info isn't available
Matt Joiner [Sun, 29 Jun 2014 08:56:19 +0000 (18:56 +1000)]
Fix crash printing client status when a torrent info isn't available

10 years agoLog errors setting the metadata for a torrent, and report when metadata is completed...
Matt Joiner [Sun, 29 Jun 2014 05:45:21 +0000 (15:45 +1000)]
Log errors setting the metadata for a torrent, and report when metadata is completed from peers

10 years agoRemove some metadata related debug messages
Matt Joiner [Sun, 29 Jun 2014 05:44:55 +0000 (15:44 +1000)]
Remove some metadata related debug messages

10 years agoCan now download from magnet links
Matt Joiner [Sat, 28 Jun 2014 09:38:31 +0000 (19:38 +1000)]
Can now download from magnet links

10 years agoFixes for cmd/torrent with the new torrent.Info field
Matt Joiner [Fri, 27 Jun 2014 08:57:35 +0000 (18:57 +1000)]
Fixes for cmd/torrent with the new torrent.Info field

10 years agoBegin adding magnet and ut_metadata support
Matt Joiner [Thu, 26 Jun 2014 14:57:07 +0000 (00:57 +1000)]
Begin adding magnet and ut_metadata support

10 years agoTrivial fix for one of the last commits
Matt Joiner [Thu, 26 Jun 2014 08:08:14 +0000 (18:08 +1000)]
Trivial fix for one of the last commits

10 years agoVarious improvements that've had a lot of testing
Matt Joiner [Thu, 26 Jun 2014 08:06:33 +0000 (18:06 +1000)]
Various improvements that've had a lot of testing

10 years agoFix broken connection write optimizer test
Matt Joiner [Thu, 26 Jun 2014 07:30:54 +0000 (17:30 +1000)]
Fix broken connection write optimizer test

10 years agovet some printfs
Matt Joiner [Thu, 26 Jun 2014 07:30:16 +0000 (17:30 +1000)]
vet some printfs

10 years agotorrentfs: Write client status to HTTP port
Matt Joiner [Thu, 26 Jun 2014 07:29:12 +0000 (17:29 +1000)]
torrentfs: Write client status to HTTP port

10 years agocmd/torrentfs: Expose readahead bytes as a flag
Matt Joiner [Wed, 25 Jun 2014 15:37:00 +0000 (01:37 +1000)]
cmd/torrentfs: Expose readahead bytes as a flag

10 years agotorrentfs: Reading an offset past the end of a file caused out of bounds panic
Matt Joiner [Wed, 25 Jun 2014 15:36:25 +0000 (01:36 +1000)]
torrentfs: Reading an offset past the end of a file caused out of bounds panic

10 years agoBegin implementing a K closest node algorithm
Matt Joiner [Tue, 24 Jun 2014 13:20:49 +0000 (23:20 +1000)]
Begin implementing a K closest node algorithm

10 years agoSome function doc
Matt Joiner [Tue, 24 Jun 2014 13:20:07 +0000 (23:20 +1000)]
Some function doc

10 years agoWrap server UDP sends to ensure the node last send is updated
Matt Joiner [Tue, 24 Jun 2014 13:19:19 +0000 (23:19 +1000)]
Wrap server UDP sends to ensure the node last send is updated

10 years agoDHT default server ID generated using hostname and server address
Matt Joiner [Tue, 24 Jun 2014 13:18:30 +0000 (23:18 +1000)]
DHT default server ID generated using hostname and server address

10 years agoDHT node table should be loaded after the server is initialized
Matt Joiner [Tue, 24 Jun 2014 13:17:06 +0000 (23:17 +1000)]
DHT node table should be loaded after the server is initialized

10 years agoudp_tracker: If a read deadline occurs, writes were failing with i/o timeout
Matt Joiner [Mon, 23 Jun 2014 10:30:31 +0000 (20:30 +1000)]
udp_tracker: If a read deadline occurs, writes were failing with i/o timeout

10 years agoReorder actions after a chunk is received
Matt Joiner [Wed, 28 May 2014 16:44:27 +0000 (02:44 +1000)]
Reorder actions after a chunk is received

10 years agoShuffle chunk spec request order for readahead pieces
Matt Joiner [Wed, 28 May 2014 15:32:34 +0000 (01:32 +1000)]
Shuffle chunk spec request order for readahead pieces

Should reduce overlap in received chunks.

10 years agoMake the readahead on ResponsiveDownloadStrategy customizable
Matt Joiner [Wed, 28 May 2014 15:30:59 +0000 (01:30 +1000)]
Make the readahead on ResponsiveDownloadStrategy customizable

10 years agoRemove requests from the outbound message queue if cancelled before they're written
Matt Joiner [Wed, 28 May 2014 15:27:48 +0000 (01:27 +1000)]
Remove requests from the outbound message queue if cancelled before they're written

Only post peer protocol messages to the channel, bytes must be done directly.
This fixes a possible issue where slow responses during handshake could cause
keep alive messages to be sent prematurely.

10 years agoKeepalives weren't marshalled correctly
Matt Joiner [Wed, 28 May 2014 15:22:51 +0000 (01:22 +1000)]
Keepalives weren't marshalled correctly

10 years agoGot dht-server working nicely
Matt Joiner [Tue, 27 May 2014 06:28:56 +0000 (16:28 +1000)]
Got dht-server working nicely

10 years agodht-server: Save and load node table between invocations
Matt Joiner [Sun, 25 May 2014 13:04:55 +0000 (23:04 +1000)]
dht-server: Save and load node table between invocations

10 years agoSwitch dht-server to bootstrapping
Matt Joiner [Sun, 25 May 2014 11:34:29 +0000 (21:34 +1000)]
Switch dht-server to bootstrapping

10 years agoBegin implementing DHT
Matt Joiner [Sat, 24 May 2014 06:51:56 +0000 (16:51 +1000)]
Begin implementing DHT

10 years agoAdd README.rst with codeship image
Matt Joiner [Fri, 23 May 2014 14:23:44 +0000 (00:23 +1000)]
Add README.rst with codeship image

10 years agoRemove redundant replenishConnRequests when receiving unchoke
Matt Joiner [Fri, 23 May 2014 11:02:42 +0000 (21:02 +1000)]
Remove redundant replenishConnRequests when receiving unchoke

10 years agodat new-world-style panic
Matt Joiner [Fri, 23 May 2014 11:02:11 +0000 (21:02 +1000)]
dat new-world-style panic

10 years agoFix a race checking bytes left when announcing
Matt Joiner [Fri, 23 May 2014 11:01:35 +0000 (21:01 +1000)]
Fix a race checking bytes left when announcing

10 years agoStore request heat in the download strategy
Matt Joiner [Fri, 23 May 2014 11:01:05 +0000 (21:01 +1000)]
Store request heat in the download strategy

This avoids recalculating it for every FillRequest

10 years agotorrent.go: Alias peer_protocol as pp
Matt Joiner [Fri, 23 May 2014 10:58:11 +0000 (20:58 +1000)]
torrent.go: Alias peer_protocol as pp

10 years agoPut interface assertion next to the asserted type
Matt Joiner [Thu, 22 May 2014 14:38:07 +0000 (00:38 +1000)]
Put interface assertion next to the asserted type

10 years agoTorrentReadAt shouldn't care about verification state
Matt Joiner [Thu, 22 May 2014 14:37:36 +0000 (00:37 +1000)]
TorrentReadAt shouldn't care about verification state

10 years agoAvoid rebuffering in peer_protocol.Decode
Matt Joiner [Thu, 22 May 2014 14:36:47 +0000 (00:36 +1000)]
Avoid rebuffering in peer_protocol.Decode

10 years agoSome minor fiddling to announcing in the client
Matt Joiner [Thu, 22 May 2014 14:35:24 +0000 (00:35 +1000)]
Some minor fiddling to announcing in the client

10 years agoThe fuse library allocates a response data slice for us, so use it
Matt Joiner [Thu, 22 May 2014 14:34:18 +0000 (00:34 +1000)]
The fuse library allocates a response data slice for us, so use it

10 years agoResponsiveDownloadStrategy will readahead blocks
Matt Joiner [Thu, 22 May 2014 14:33:07 +0000 (00:33 +1000)]
ResponsiveDownloadStrategy will readahead blocks

Test peers don't play well with short "up request" buffers, so we need to fill
these with the most likely blocks to achieve maximum download speeds.

10 years agoclient.go: Shorten module peer_protocol to pp
Matt Joiner [Wed, 21 May 2014 08:01:58 +0000 (18:01 +1000)]
client.go: Shorten module peer_protocol to pp

10 years agoShorten variable names in connectionLoop
Matt Joiner [Wed, 21 May 2014 07:55:50 +0000 (17:55 +1000)]
Shorten variable names in connectionLoop

10 years agoBe more selective about when to replenish connection requests
Matt Joiner [Wed, 21 May 2014 07:49:59 +0000 (17:49 +1000)]
Be more selective about when to replenish connection requests

10 years agoImplement connection.{Cancel,Choke}
Matt Joiner [Wed, 21 May 2014 07:49:28 +0000 (17:49 +1000)]
Implement connection.{Cancel,Choke}

10 years agoAllocate peer_protocol.Message on the stack in connectionLoop
Matt Joiner [Wed, 21 May 2014 07:48:44 +0000 (17:48 +1000)]
Allocate peer_protocol.Message on the stack in connectionLoop

10 years agoSupport individual peer max requests
Matt Joiner [Wed, 21 May 2014 07:47:42 +0000 (17:47 +1000)]
Support individual peer max requests

10 years agoMisc minor improvements
Matt Joiner [Wed, 21 May 2014 07:42:06 +0000 (17:42 +1000)]
Misc minor improvements

10 years agoAdd Client.DownloadStrategy; fix priority of incomplete pieces
Matt Joiner [Wed, 21 May 2014 07:40:54 +0000 (17:40 +1000)]
Add Client.DownloadStrategy; fix priority of incomplete pieces

10 years agocmd/torrent: Add flags -disableTrackers and -seed
Matt Joiner [Wed, 21 May 2014 07:38:09 +0000 (17:38 +1000)]
cmd/torrent: Add flags -disableTrackers and -seed

10 years agoIninitialize the torrent.Priorities up front and do initial piece checks with a singl...
Matt Joiner [Wed, 21 May 2014 07:37:31 +0000 (17:37 +1000)]
Ininitialize the torrent.Priorities up front and do initial piece checks with a single goroutine

10 years agoAdd some String methods and contextual information in log messages
Matt Joiner [Tue, 20 May 2014 14:52:49 +0000 (00:52 +1000)]
Add some String methods and contextual information in log messages

11 years agoMake Request private
Matt Joiner [Wed, 16 Apr 2014 11:13:44 +0000 (21:13 +1000)]
Make Request private

11 years agoImplement receiving cancel messages
Matt Joiner [Wed, 16 Apr 2014 07:33:33 +0000 (17:33 +1000)]
Implement receiving cancel messages

11 years agoTestUnmountWedged, fs.Destroy
Matt Joiner [Thu, 17 Apr 2014 06:37:54 +0000 (16:37 +1000)]
TestUnmountWedged, fs.Destroy

11 years agoBig visibility/doc clean-up, and extract mmap_span package
Matt Joiner [Tue, 8 Apr 2014 16:36:05 +0000 (02:36 +1000)]
Big visibility/doc clean-up, and extract mmap_span package

11 years agoCheck for asynchronous mount error after serving
Matt Joiner [Tue, 8 Apr 2014 15:18:55 +0000 (01:18 +1000)]
Check for asynchronous mount error after serving

11 years agoBreak up torrentfs main(), it's too large
Matt Joiner [Tue, 8 Apr 2014 15:18:29 +0000 (01:18 +1000)]
Break up torrentfs main(), it's too large

11 years agoHandle repeat SIGINT/SIGTERMs
Matt Joiner [Tue, 8 Apr 2014 15:17:53 +0000 (01:17 +1000)]
Handle repeat SIGINT/SIGTERMs

Need to determine if there's a way to better interrupt the FS or if we have no control over that.

11 years agoAdd error handling to PrioritizeDataRegion as it's public facing API
Matt Joiner [Tue, 8 Apr 2014 15:15:39 +0000 (01:15 +1000)]
Add error handling to PrioritizeDataRegion as it's public facing API

11 years agoMask EHOSTUNREACH on connect()
Matt Joiner [Tue, 8 Apr 2014 09:40:10 +0000 (19:40 +1000)]
Mask EHOSTUNREACH on connect()

11 years agogoimports decided to reorganise imports
Matt Joiner [Tue, 8 Apr 2014 09:39:34 +0000 (19:39 +1000)]
goimports decided to reorganise imports

11 years agoFix calculation of request for torrent data offset
Matt Joiner [Tue, 8 Apr 2014 06:45:33 +0000 (16:45 +1000)]
Fix calculation of request for torrent data offset

11 years agoBreak up client.go into several files and a few fixes
Matt Joiner [Thu, 3 Apr 2014 12:16:59 +0000 (23:16 +1100)]
Break up client.go into several files and a few fixes

Suppress expected errors when initiating connections.
Add an explicit timeout to initiate connections.
Put a lock on closing a connection to prevent data race warnings.

11 years agoFix short read and report unexpected EOFs decoding peer protocol
Matt Joiner [Thu, 20 Mar 2014 13:42:40 +0000 (00:42 +1100)]
Fix short read and report unexpected EOFs decoding peer protocol

11 years agoTODO
Matt Joiner [Thu, 20 Mar 2014 13:40:54 +0000 (00:40 +1100)]
TODO

11 years agoLots of logging improvements
Matt Joiner [Thu, 20 Mar 2014 13:14:17 +0000 (00:14 +1100)]
Lots of logging improvements

11 years agoAdd -listenAddr and actually listen in ./cmd/torrent
Matt Joiner [Thu, 20 Mar 2014 13:13:32 +0000 (00:13 +1100)]
Add -listenAddr and actually listen in ./cmd/torrent

11 years agoSend port on announces when possible
Matt Joiner [Thu, 20 Mar 2014 13:12:53 +0000 (00:12 +1100)]
Send port on announces when possible

11 years agoFix requests to other leechers
Matt Joiner [Thu, 20 Mar 2014 13:11:49 +0000 (00:11 +1100)]
Fix requests to other leechers

11 years agoTidy up
Matt Joiner [Thu, 20 Mar 2014 11:02:15 +0000 (22:02 +1100)]
Tidy up

11 years agoFix races stopping clients and closing connections
Matt Joiner [Thu, 20 Mar 2014 11:01:56 +0000 (22:01 +1100)]
Fix races stopping clients and closing connections

11 years agoTest created torrent structure in current directory
Matt Joiner [Thu, 20 Mar 2014 06:35:11 +0000 (17:35 +1100)]
Test created torrent structure in current directory

11 years agoImprovements to pending chunks; extract testutil
Matt Joiner [Thu, 20 Mar 2014 05:58:09 +0000 (16:58 +1100)]
Improvements to pending chunks; extract testutil

11 years agoAdd a scrape command so I can work out if trackers are seeing my test clients
Matt Joiner [Wed, 19 Mar 2014 17:30:32 +0000 (04:30 +1100)]
Add a scrape command so I can work out if trackers are seeing my test clients

I don't even know if scrape is the right word.

11 years agoVarious progress, particularly around the way data readiness is handled
Matt Joiner [Wed, 19 Mar 2014 17:30:08 +0000 (04:30 +1100)]
Various progress, particularly around the way data readiness is handled

11 years agoHunting for goroutine leaks
Matt Joiner [Tue, 18 Mar 2014 11:39:33 +0000 (22:39 +1100)]
Hunting for goroutine leaks

Start implementing Client.Stop().

11 years agoAdd a end-to-end test for torrentfs
Matt Joiner [Mon, 17 Mar 2014 14:44:22 +0000 (01:44 +1100)]
Add a end-to-end test for torrentfs

Basic unchoking and uploading.
Accept incoming connections.
Break out torrentfs lib.
Fix and implement some protocol stuff.

11 years agoAdd tracker_test
Matt Joiner [Sun, 16 Mar 2014 15:31:06 +0000 (02:31 +1100)]
Add tracker_test

11 years agoMake use of trackers
Matt Joiner [Sun, 16 Mar 2014 15:30:10 +0000 (02:30 +1100)]
Make use of trackers

11 years agoSimplify the tracker.New interface, just take a string
Matt Joiner [Mon, 16 Dec 2013 07:47:23 +0000 (18:47 +1100)]
Simplify the tracker.New interface, just take a string

11 years agoTracker doc
Matt Joiner [Mon, 16 Dec 2013 07:46:55 +0000 (18:46 +1100)]
Tracker doc