]>
Sergey Matveev's repositories - btrtrc.git/log
Matt Joiner [Wed, 16 Jul 2014 07:06:18 +0000 (17:06 +1000)]
Make the discovery source for a connection more descriptive
Matt Joiner [Mon, 14 Jul 2014 13:12:52 +0000 (23:12 +1000)]
Invalidating metadata would cause a crash when metadata pieces kept arriving
Matt Joiner [Mon, 14 Jul 2014 13:12:15 +0000 (23:12 +1000)]
Client would attempt to download if unchoked before the metadata is available
Matt Joiner [Sun, 13 Jul 2014 07:37:12 +0000 (17:37 +1000)]
API changes in github.com/anacrolix/libtorgo
Matt Joiner [Fri, 11 Jul 2014 15:24:01 +0000 (01:24 +1000)]
dht: Reply to get_peers and find_node queries
Matt Joiner [Fri, 11 Jul 2014 15:23:10 +0000 (01:23 +1000)]
cmd/torrent: Run the http server by default
Matt Joiner [Fri, 11 Jul 2014 09:30:20 +0000 (19:30 +1000)]
Add DHT support to cmd/torrent
Matt Joiner [Wed, 9 Jul 2014 16:59:37 +0000 (02:59 +1000)]
Run go vet on everything
Matt Joiner [Wed, 9 Jul 2014 16:53:46 +0000 (02:53 +1000)]
Fix incorrect log call
At least vet catches it...
Matt Joiner [Wed, 9 Jul 2014 14:26:58 +0000 (00:26 +1000)]
Keep pieces sorted by bytes left
Matt Joiner [Wed, 9 Jul 2014 14:16:09 +0000 (00:16 +1000)]
Add some extra char flags to connection status
Matt Joiner [Wed, 9 Jul 2014 14:15:28 +0000 (00:15 +1000)]
dht-get-peers: Some improvements
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
Matt Joiner [Wed, 9 Jul 2014 14:14:19 +0000 (00:14 +1000)]
Start a simpler replacement for davecheney's profile package
Matt Joiner [Wed, 9 Jul 2014 14:13:54 +0000 (00:13 +1000)]
dht: Concurrency improvements and fixes to bootstrapping and getting peers
Matt Joiner [Thu, 3 Jul 2014 15:44:15 +0000 (01:44 +1000)]
Fix crash quitting when accept conn is closed
Matt Joiner [Thu, 3 Jul 2014 15:43:04 +0000 (01:43 +1000)]
Implement dht-get-peers command and GetPeers method in dht package
Matt Joiner [Thu, 3 Jul 2014 15:41:46 +0000 (01:41 +1000)]
Move compactPeers type to util package
Matt Joiner [Mon, 30 Jun 2014 14:06:58 +0000 (00:06 +1000)]
Fix crash when peer has only sent lower-index HAVE messages
Matt Joiner [Mon, 30 Jun 2014 14:05:28 +0000 (00:05 +1000)]
Improve some log messages
Matt Joiner [Mon, 30 Jun 2014 14:04:28 +0000 (00:04 +1000)]
Record if a connection was incoming
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
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
Matt Joiner [Sun, 29 Jun 2014 14:22:05 +0000 (00:22 +1000)]
Move download strategies into their own file
Matt Joiner [Sun, 29 Jun 2014 09:10:59 +0000 (19:10 +1000)]
Some minor tweaks
Matt Joiner [Sun, 29 Jun 2014 09:08:46 +0000 (19:08 +1000)]
Fix crash writing torrent status before priorities are initialized
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
Matt Joiner [Sun, 29 Jun 2014 09:07:43 +0000 (19:07 +1000)]
Add peers sent over PEX
Matt Joiner [Sun, 29 Jun 2014 08:57:49 +0000 (18:57 +1000)]
Add support for extended handshake "v", "reqq", and "p" fields
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
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
Matt Joiner [Sun, 29 Jun 2014 05:44:55 +0000 (15:44 +1000)]
Remove some metadata related debug messages
Matt Joiner [Sat, 28 Jun 2014 09:38:31 +0000 (19:38 +1000)]
Can now download from magnet links
Matt Joiner [Fri, 27 Jun 2014 08:57:35 +0000 (18:57 +1000)]
Fixes for cmd/torrent with the new torrent.Info field
Matt Joiner [Thu, 26 Jun 2014 14:57:07 +0000 (00:57 +1000)]
Begin adding magnet and ut_metadata support
Matt Joiner [Thu, 26 Jun 2014 08:08:14 +0000 (18:08 +1000)]
Trivial fix for one of the last commits
Matt Joiner [Thu, 26 Jun 2014 08:06:33 +0000 (18:06 +1000)]
Various improvements that've had a lot of testing
Matt Joiner [Thu, 26 Jun 2014 07:30:54 +0000 (17:30 +1000)]
Fix broken connection write optimizer test
Matt Joiner [Thu, 26 Jun 2014 07:30:16 +0000 (17:30 +1000)]
vet some printfs
Matt Joiner [Thu, 26 Jun 2014 07:29:12 +0000 (17:29 +1000)]
torrentfs: Write client status to HTTP port
Matt Joiner [Wed, 25 Jun 2014 15:37:00 +0000 (01:37 +1000)]
cmd/torrentfs: Expose readahead bytes as a flag
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
Matt Joiner [Tue, 24 Jun 2014 13:20:49 +0000 (23:20 +1000)]
Begin implementing a K closest node algorithm
Matt Joiner [Tue, 24 Jun 2014 13:20:07 +0000 (23:20 +1000)]
Some function doc
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
Matt Joiner [Tue, 24 Jun 2014 13:18:30 +0000 (23:18 +1000)]
DHT default server ID generated using hostname and server address
Matt Joiner [Tue, 24 Jun 2014 13:17:06 +0000 (23:17 +1000)]
DHT node table should be loaded after the server is initialized
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
Matt Joiner [Wed, 28 May 2014 16:44:27 +0000 (02:44 +1000)]
Reorder actions after a chunk is received
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.
Matt Joiner [Wed, 28 May 2014 15:30:59 +0000 (01:30 +1000)]
Make the readahead on ResponsiveDownloadStrategy customizable
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.
Matt Joiner [Wed, 28 May 2014 15:22:51 +0000 (01:22 +1000)]
Keepalives weren't marshalled correctly
Matt Joiner [Tue, 27 May 2014 06:28:56 +0000 (16:28 +1000)]
Got dht-server working nicely
Matt Joiner [Sun, 25 May 2014 13:04:55 +0000 (23:04 +1000)]
dht-server: Save and load node table between invocations
Matt Joiner [Sun, 25 May 2014 11:34:29 +0000 (21:34 +1000)]
Switch dht-server to bootstrapping
Matt Joiner [Sat, 24 May 2014 06:51:56 +0000 (16:51 +1000)]
Begin implementing DHT
Matt Joiner [Fri, 23 May 2014 14:23:44 +0000 (00:23 +1000)]
Add README.rst with codeship image
Matt Joiner [Fri, 23 May 2014 11:02:42 +0000 (21:02 +1000)]
Remove redundant replenishConnRequests when receiving unchoke
Matt Joiner [Fri, 23 May 2014 11:02:11 +0000 (21:02 +1000)]
dat new-world-style panic
Matt Joiner [Fri, 23 May 2014 11:01:35 +0000 (21:01 +1000)]
Fix a race checking bytes left when announcing
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
Matt Joiner [Fri, 23 May 2014 10:58:11 +0000 (20:58 +1000)]
torrent.go: Alias peer_protocol as pp
Matt Joiner [Thu, 22 May 2014 14:38:07 +0000 (00:38 +1000)]
Put interface assertion next to the asserted type
Matt Joiner [Thu, 22 May 2014 14:37:36 +0000 (00:37 +1000)]
TorrentReadAt shouldn't care about verification state
Matt Joiner [Thu, 22 May 2014 14:36:47 +0000 (00:36 +1000)]
Avoid rebuffering in peer_protocol.Decode
Matt Joiner [Thu, 22 May 2014 14:35:24 +0000 (00:35 +1000)]
Some minor fiddling to announcing in the client
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
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.
Matt Joiner [Wed, 21 May 2014 08:01:58 +0000 (18:01 +1000)]
client.go: Shorten module peer_protocol to pp
Matt Joiner [Wed, 21 May 2014 07:55:50 +0000 (17:55 +1000)]
Shorten variable names in connectionLoop
Matt Joiner [Wed, 21 May 2014 07:49:59 +0000 (17:49 +1000)]
Be more selective about when to replenish connection requests
Matt Joiner [Wed, 21 May 2014 07:49:28 +0000 (17:49 +1000)]
Implement connection.{Cancel,Choke}
Matt Joiner [Wed, 21 May 2014 07:48:44 +0000 (17:48 +1000)]
Allocate peer_protocol.Message on the stack in connectionLoop
Matt Joiner [Wed, 21 May 2014 07:47:42 +0000 (17:47 +1000)]
Support individual peer max requests
Matt Joiner [Wed, 21 May 2014 07:42:06 +0000 (17:42 +1000)]
Misc minor improvements
Matt Joiner [Wed, 21 May 2014 07:40:54 +0000 (17:40 +1000)]
Add Client.DownloadStrategy; fix priority of incomplete pieces
Matt Joiner [Wed, 21 May 2014 07:38:09 +0000 (17:38 +1000)]
cmd/torrent: Add flags -disableTrackers and -seed
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
Matt Joiner [Tue, 20 May 2014 14:52:49 +0000 (00:52 +1000)]
Add some String methods and contextual information in log messages
Matt Joiner [Wed, 16 Apr 2014 11:13:44 +0000 (21:13 +1000)]
Make Request private
Matt Joiner [Wed, 16 Apr 2014 07:33:33 +0000 (17:33 +1000)]
Implement receiving cancel messages
Matt Joiner [Thu, 17 Apr 2014 06:37:54 +0000 (16:37 +1000)]
TestUnmountWedged, fs.Destroy
Matt Joiner [Tue, 8 Apr 2014 16:36:05 +0000 (02:36 +1000)]
Big visibility/doc clean-up, and extract mmap_span package
Matt Joiner [Tue, 8 Apr 2014 15:18:55 +0000 (01:18 +1000)]
Check for asynchronous mount error after serving
Matt Joiner [Tue, 8 Apr 2014 15:18:29 +0000 (01:18 +1000)]
Break up torrentfs main(), it's too large
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.
Matt Joiner [Tue, 8 Apr 2014 15:15:39 +0000 (01:15 +1000)]
Add error handling to PrioritizeDataRegion as it's public facing API
Matt Joiner [Tue, 8 Apr 2014 09:40:10 +0000 (19:40 +1000)]
Mask EHOSTUNREACH on connect()
Matt Joiner [Tue, 8 Apr 2014 09:39:34 +0000 (19:39 +1000)]
goimports decided to reorganise imports
Matt Joiner [Tue, 8 Apr 2014 06:45:33 +0000 (16:45 +1000)]
Fix calculation of request for torrent data offset
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.
Matt Joiner [Thu, 20 Mar 2014 13:42:40 +0000 (00:42 +1100)]
Fix short read and report unexpected EOFs decoding peer protocol
Matt Joiner [Thu, 20 Mar 2014 13:40:54 +0000 (00:40 +1100)]
TODO
Matt Joiner [Thu, 20 Mar 2014 13:14:17 +0000 (00:14 +1100)]
Lots of logging improvements
Matt Joiner [Thu, 20 Mar 2014 13:13:32 +0000 (00:13 +1100)]
Add -listenAddr and actually listen in ./cmd/torrent
Matt Joiner [Thu, 20 Mar 2014 13:12:53 +0000 (00:12 +1100)]
Send port on announces when possible
Matt Joiner [Thu, 20 Mar 2014 13:11:49 +0000 (00:11 +1100)]
Fix requests to other leechers
Matt Joiner [Thu, 20 Mar 2014 11:02:15 +0000 (22:02 +1100)]
Tidy up
Matt Joiner [Thu, 20 Mar 2014 11:01:56 +0000 (22:01 +1100)]
Fix races stopping clients and closing connections