]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
10 years agoUse more generic net error type to detect timeouts
Matt Joiner [Sun, 16 Nov 2014 19:31:11 +0000 (13:31 -0600)]
Use more generic net error type to detect timeouts

10 years agoMove half-open tracking into per-torrent
Matt Joiner [Sun, 16 Nov 2014 19:30:44 +0000 (13:30 -0600)]
Move half-open tracking into per-torrent

10 years agoAdd UTP support, disable TCP for now. DHT moves to another port
Matt Joiner [Sun, 16 Nov 2014 19:29:31 +0000 (13:29 -0600)]
Add UTP support, disable TCP for now. DHT moves to another port

10 years agoActually announce to DHT, don't just get peers
Matt Joiner [Sun, 16 Nov 2014 19:18:08 +0000 (13:18 -0600)]
Actually announce to DHT, don't just get peers

10 years agoTidy up address handling
Matt Joiner [Sun, 16 Nov 2014 19:16:26 +0000 (13:16 -0600)]
Tidy up address handling

10 years agoAdd dht AnnouncePeer
Matt Joiner [Sun, 16 Nov 2014 19:08:33 +0000 (13:08 -0600)]
Add dht AnnouncePeer

10 years agoFix localhost assumption in connecting 2 clients in tests
Matt Joiner [Sun, 16 Nov 2014 19:06:32 +0000 (13:06 -0600)]
Fix localhost assumption in connecting 2 clients in tests

10 years agoTODO
Matt Joiner [Sun, 16 Nov 2014 19:05:38 +0000 (13:05 -0600)]
TODO

10 years agocheck that util.CompactPeer is unmarshaled from the correct number of bytes
Matt Joiner [Sun, 16 Nov 2014 19:05:19 +0000 (13:05 -0600)]
check that util.CompactPeer is unmarshaled from the correct number of bytes

10 years agologonce is a package that prints each distinct message only once
Matt Joiner [Sun, 16 Nov 2014 19:04:44 +0000 (13:04 -0600)]
logonce is a package that prints each distinct message only once

10 years agoTODO
Matt Joiner [Thu, 25 Sep 2014 08:06:57 +0000 (18:06 +1000)]
TODO

10 years agoAdd magnet-metainfo, tool to download magnet to torrent file
Matt Joiner [Thu, 25 Sep 2014 08:05:52 +0000 (18:05 +1000)]
Add magnet-metainfo, tool to download magnet to torrent file

10 years agoTODO
Matt Joiner [Sun, 14 Sep 2014 17:37:57 +0000 (03:37 +1000)]
TODO

10 years agoLazily hash pieces where possible
Matt Joiner [Sun, 14 Sep 2014 17:25:53 +0000 (03:25 +1000)]
Lazily hash pieces where possible

10 years agoFix crash when piece hash completes for dropped torrent
Matt Joiner [Sat, 13 Sep 2014 18:07:05 +0000 (04:07 +1000)]
Fix crash when piece hash completes for dropped torrent

10 years agoMissing torrent functions
Matt Joiner [Sat, 13 Sep 2014 18:06:17 +0000 (04:06 +1000)]
Missing torrent functions

10 years agoImprovements arising from attempting to delay piece hashing until necessary
Matt Joiner [Sat, 13 Sep 2014 18:03:23 +0000 (04:03 +1000)]
Improvements arising from attempting to delay piece hashing until necessary

10 years agoTODO
Matt Joiner [Sat, 13 Sep 2014 17:59:51 +0000 (03:59 +1000)]
TODO

10 years agoTreat PORT messages with port of 0 to mean on the remote port
Matt Joiner [Sat, 13 Sep 2014 17:59:31 +0000 (03:59 +1000)]
Treat PORT messages with port of 0 to mean on the remote port

10 years agoMissed this dataRead call in an earlier commit
Matt Joiner [Sat, 13 Sep 2014 17:58:13 +0000 (03:58 +1000)]
Missed this dataRead call in an earlier commit

10 years agoTrack failed piece hashes
Matt Joiner [Sat, 13 Sep 2014 17:57:51 +0000 (03:57 +1000)]
Track failed piece hashes

10 years agoImprove the data waiter system
Matt Joiner [Sat, 13 Sep 2014 17:50:15 +0000 (03:50 +1000)]
Improve the data waiter system

10 years agoSuppress metadata extension message errors from Xunlei client
Matt Joiner [Sat, 13 Sep 2014 17:47:47 +0000 (03:47 +1000)]
Suppress metadata extension message errors from Xunlei client

10 years agoIncrease peer connection buffer size from default (4096) to 20KiB
Matt Joiner [Sat, 13 Sep 2014 17:47:06 +0000 (03:47 +1000)]
Increase peer connection buffer size from default (4096) to 20KiB

This reduces syscall overhead which becoming noticeable.

10 years agoTreat ECONNRESET and i/o timeout from peers as EOF
Matt Joiner [Sat, 13 Sep 2014 17:45:38 +0000 (03:45 +1000)]
Treat ECONNRESET and i/o timeout from peers as EOF

10 years agoOn torrentfs read, read the full requested buffer and don't return early
Matt Joiner [Sat, 13 Sep 2014 17:44:07 +0000 (03:44 +1000)]
On torrentfs read, read the full requested buffer and don't return early

10 years agoImprovements to written status
Matt Joiner [Sat, 13 Sep 2014 17:43:11 +0000 (03:43 +1000)]
Improvements to written status

10 years agoNew worst conn algorithm that incorporates useful/unwanted chunk download rates
Matt Joiner [Sat, 13 Sep 2014 17:40:35 +0000 (03:40 +1000)]
New worst conn algorithm that incorporates useful/unwanted chunk download rates

10 years agoNew worst conns algorithm that takes into account connection useful chunk hit rate
Matt Joiner [Thu, 11 Sep 2014 10:31:31 +0000 (20:31 +1000)]
New worst conns algorithm that takes into account connection useful chunk hit rate

10 years agoRename and improve downloaded chunk counters and status per connection
Matt Joiner [Thu, 11 Sep 2014 10:30:13 +0000 (20:30 +1000)]
Rename and improve downloaded chunk counters and status per connection

10 years agoTighten responsive download strategy partial piece request filling
Matt Joiner [Thu, 11 Sep 2014 04:22:29 +0000 (14:22 +1000)]
Tighten responsive download strategy partial piece request filling

10 years agoDon't log extension message parsing errors from -SD0100-
Matt Joiner [Thu, 11 Sep 2014 04:20:47 +0000 (14:20 +1000)]
Don't log extension message parsing errors from -SD0100-

10 years agoCheck magnet URI scheme
Matt Joiner [Thu, 11 Sep 2014 04:19:23 +0000 (14:19 +1000)]
Check magnet URI scheme

10 years agoClean up magnet URI parsing errors in dirwatch
Matt Joiner [Thu, 11 Sep 2014 04:18:59 +0000 (14:18 +1000)]
Clean up magnet URI parsing errors in dirwatch

10 years agoUpdate TODO
Matt Joiner [Thu, 28 Aug 2014 00:09:33 +0000 (10:09 +1000)]
Update TODO

10 years agoDisable TCP linger for peer connections
Matt Joiner [Thu, 28 Aug 2014 00:06:57 +0000 (10:06 +1000)]
Disable TCP linger for peer connections

10 years agoIntroduce socket/torrent limits, work in progress
Matt Joiner [Thu, 28 Aug 2014 00:06:36 +0000 (10:06 +1000)]
Introduce socket/torrent limits, work in progress

10 years agoMisc tweaks
Matt Joiner [Thu, 28 Aug 2014 00:05:41 +0000 (10:05 +1000)]
Misc tweaks

10 years agoFixes to closing torrents and connections
Matt Joiner [Thu, 28 Aug 2014 00:04:44 +0000 (10:04 +1000)]
Fixes to closing torrents and connections

10 years agoGreat complexifying of the responsive download strategy
Matt Joiner [Thu, 28 Aug 2014 00:04:00 +0000 (10:04 +1000)]
Great complexifying of the responsive download strategy

Should be better after 4 days of experimentation...

10 years agoForgot to commit duplicateConnsAvoided expvar
Matt Joiner [Wed, 27 Aug 2014 23:45:58 +0000 (09:45 +1000)]
Forgot to commit duplicateConnsAvoided expvar

10 years agoKeep track of ongoing handshakes and add timeouts to connection sockets
Matt Joiner [Wed, 27 Aug 2014 23:45:20 +0000 (09:45 +1000)]
Keep track of ongoing handshakes and add timeouts to connection sockets

10 years agoCease networking on a torrent if it's finished and we're not going to seed
Matt Joiner [Wed, 27 Aug 2014 23:39:27 +0000 (09:39 +1000)]
Cease networking on a torrent if it's finished and we're not going to seed

10 years agoAvoid connecting to the same peer twice by address
Matt Joiner [Wed, 27 Aug 2014 23:35:13 +0000 (09:35 +1000)]
Avoid connecting to the same peer twice by address

10 years agoAdd useful new metrics to connection
Matt Joiner [Wed, 27 Aug 2014 23:32:49 +0000 (09:32 +1000)]
Add useful new metrics to connection

10 years agoRename connection.closed->closing
Matt Joiner [Wed, 27 Aug 2014 23:31:05 +0000 (09:31 +1000)]
Rename connection.closed->closing

10 years agoFix crashes in torrentfs.fileNode.Read
Matt Joiner [Wed, 27 Aug 2014 22:09:41 +0000 (08:09 +1000)]
Fix crashes in torrentfs.fileNode.Read

10 years agoMake use of FUSE readahead
Matt Joiner [Wed, 27 Aug 2014 22:08:59 +0000 (08:08 +1000)]
Make use of FUSE readahead

10 years agoAdd some counters and tracking to torrentfs events
Matt Joiner [Wed, 27 Aug 2014 22:08:09 +0000 (08:08 +1000)]
Add some counters and tracking to torrentfs events

10 years agoSome fixes and improvements to dirwatch
Matt Joiner [Wed, 27 Aug 2014 22:05:06 +0000 (08:05 +1000)]
Some fixes and improvements to dirwatch

10 years agoA type for heapifying worst performing conns
Matt Joiner [Wed, 27 Aug 2014 22:04:41 +0000 (08:04 +1000)]
A type for heapifying worst performing conns

10 years agoAdd a test for double Close of torrent.torrent
Matt Joiner [Wed, 27 Aug 2014 22:03:55 +0000 (08:03 +1000)]
Add a test for double Close of torrent.torrent

10 years agoFix a few crashes
Matt Joiner [Mon, 25 Aug 2014 12:15:45 +0000 (22:15 +1000)]
Fix a few crashes

10 years agoSome logic improvements to torrentfs.fileNode.Read
Matt Joiner [Mon, 25 Aug 2014 12:15:18 +0000 (22:15 +1000)]
Some logic improvements to torrentfs.fileNode.Read

10 years agodht.Server.Ping didn't lock structure
Matt Joiner [Mon, 25 Aug 2014 12:14:31 +0000 (22:14 +1000)]
dht.Server.Ping didn't lock structure

10 years agoMisc trivial improvements
Matt Joiner [Mon, 25 Aug 2014 12:14:10 +0000 (22:14 +1000)]
Misc trivial improvements

10 years agoAdd a date to the metadata packet client version string
Matt Joiner [Mon, 25 Aug 2014 12:12:50 +0000 (22:12 +1000)]
Add a date to the metadata packet client version string

10 years agoImplement the DHT Port message
Matt Joiner [Mon, 25 Aug 2014 12:12:16 +0000 (22:12 +1000)]
Implement the DHT Port message

10 years agoTODO
Matt Joiner [Sun, 24 Aug 2014 20:01:09 +0000 (06:01 +1000)]
TODO

10 years agoStop announcing on DHT if a torrent is removed
Matt Joiner [Sun, 24 Aug 2014 20:01:05 +0000 (06:01 +1000)]
Stop announcing on DHT if a torrent is removed

10 years agoMake NoUpload a client configuration option and use it for torrentfs
Matt Joiner [Sun, 24 Aug 2014 20:00:29 +0000 (06:00 +1000)]
Make NoUpload a client configuration option and use it for torrentfs

10 years agoImprove incomplete piece ordering, responsive download strategy
Matt Joiner [Sun, 24 Aug 2014 19:31:34 +0000 (05:31 +1000)]
Improve incomplete piece ordering, responsive download strategy

10 years agoUse CopyExact when extracting handshake read
Matt Joiner [Sun, 24 Aug 2014 19:25:52 +0000 (05:25 +1000)]
Use CopyExact when extracting handshake read

10 years agoLet client.DataWaiter have its own mutex
Matt Joiner [Sun, 24 Aug 2014 19:24:18 +0000 (05:24 +1000)]
Let client.DataWaiter have its own mutex

10 years agoMake use of levelmu to prioritize client.TorrentReadAt
Matt Joiner [Sun, 24 Aug 2014 19:23:28 +0000 (05:23 +1000)]
Make use of levelmu to prioritize client.TorrentReadAt

10 years agoAdd levelmu, a package implementing priority mutex with levels
Matt Joiner [Sun, 24 Aug 2014 19:22:34 +0000 (05:22 +1000)]
Add levelmu, a package implementing priority mutex with levels

10 years agoAdd some checks to TorrentReadAt for 0 byte reads
Matt Joiner [Sat, 23 Aug 2014 20:54:14 +0000 (06:54 +1000)]
Add some checks to TorrentReadAt for 0 byte reads

10 years agoAdd piece length to torrent status
Matt Joiner [Sat, 23 Aug 2014 17:11:35 +0000 (03:11 +1000)]
Add piece length to torrent status

10 years agoCount posted cancels
Matt Joiner [Sat, 23 Aug 2014 17:10:47 +0000 (03:10 +1000)]
Count posted cancels

10 years agoTODO
Matt Joiner [Sat, 23 Aug 2014 17:09:13 +0000 (03:09 +1000)]
TODO

10 years agoOptimize torrent.Length()
Matt Joiner [Sat, 23 Aug 2014 17:09:02 +0000 (03:09 +1000)]
Optimize torrent.Length()

10 years agoGot a nice working algorithm for responsive download strategy
Matt Joiner [Sat, 23 Aug 2014 17:08:11 +0000 (03:08 +1000)]
Got a nice working algorithm for responsive download strategy

10 years agoAdd a counter for optimized cancels
Matt Joiner [Sat, 23 Aug 2014 17:04:07 +0000 (03:04 +1000)]
Add a counter for optimized cancels

10 years agoCount unexpected cancels received
Matt Joiner [Fri, 22 Aug 2014 07:47:44 +0000 (17:47 +1000)]
Count unexpected cancels received

10 years agoExtend the dial timeout to 30s
Matt Joiner [Fri, 22 Aug 2014 07:40:22 +0000 (17:40 +1000)]
Extend the dial timeout to 30s

10 years agoMissing Close
Matt Joiner [Fri, 22 Aug 2014 07:40:10 +0000 (17:40 +1000)]
Missing Close

10 years agoClarify EOF in message decoding
Matt Joiner [Fri, 22 Aug 2014 07:39:18 +0000 (17:39 +1000)]
Clarify EOF in message decoding

10 years agoAvoid allocations in shuffledPendingChunkSpecs
Matt Joiner [Fri, 22 Aug 2014 07:37:18 +0000 (17:37 +1000)]
Avoid allocations in shuffledPendingChunkSpecs

10 years agoDitch ordering of prioritized chunks
Matt Joiner [Fri, 22 Aug 2014 07:35:15 +0000 (17:35 +1000)]
Ditch ordering of prioritized chunks

10 years agoImprove status and logging
Matt Joiner [Fri, 22 Aug 2014 07:33:17 +0000 (17:33 +1000)]
Improve status and logging

10 years agoSimplify dirwatch to scan the whole directory on changes
Matt Joiner [Fri, 22 Aug 2014 07:31:03 +0000 (17:31 +1000)]
Simplify dirwatch to scan the whole directory on changes

10 years agoImprove DHT distance tests
Matt Joiner [Thu, 21 Aug 2014 17:45:31 +0000 (03:45 +1000)]
Improve DHT distance tests

10 years agoExtract function generating all chunk specs for a piece
Matt Joiner [Thu, 21 Aug 2014 17:42:38 +0000 (03:42 +1000)]
Extract function generating all chunk specs for a piece

10 years agoFix crash in metadata requests beyond available info bytes
Matt Joiner [Thu, 21 Aug 2014 17:42:00 +0000 (03:42 +1000)]
Fix crash in metadata requests beyond available info bytes

10 years agoImprove the log message for torrentfs reads
Matt Joiner [Thu, 21 Aug 2014 15:37:34 +0000 (01:37 +1000)]
Improve the log message for torrentfs reads

10 years agoExport some log events via expvar instead
Matt Joiner [Thu, 21 Aug 2014 15:33:13 +0000 (01:33 +1000)]
Export some log events via expvar instead

10 years agoFix error in bitfield correction expression and off by one condition when metadata...
Matt Joiner [Thu, 21 Aug 2014 15:26:41 +0000 (01:26 +1000)]
Fix error in bitfield correction expression and off by one condition when metadata is completed

10 years agoRemove torrent from download strategy when dropped
Matt Joiner [Thu, 21 Aug 2014 15:25:18 +0000 (01:25 +1000)]
Remove torrent from download strategy when dropped

10 years agoAdd test for dht.NewServer and change StopServing to Close
Matt Joiner [Thu, 21 Aug 2014 11:12:50 +0000 (21:12 +1000)]
Add test for dht.NewServer and change StopServing to Close

10 years agoStore pending peers in a dict to prevent duplicates
Matt Joiner [Thu, 21 Aug 2014 11:10:19 +0000 (21:10 +1000)]
Store pending peers in a dict to prevent duplicates

10 years agoClean up imports
Matt Joiner [Thu, 21 Aug 2014 11:08:56 +0000 (21:08 +1000)]
Clean up imports

10 years agoMove some tracker.CompactPeer into util
Matt Joiner [Thu, 21 Aug 2014 11:07:44 +0000 (21:07 +1000)]
Move some tracker.CompactPeer into util

10 years agoAdd CopyExact util function
Matt Joiner [Thu, 21 Aug 2014 08:24:19 +0000 (18:24 +1000)]
Add CopyExact util function

10 years agoAdd TODO file
Matt Joiner [Thu, 21 Aug 2014 08:13:41 +0000 (18:13 +1000)]
Add TODO file

10 years agoImprove the internal connection and handshake logic
Matt Joiner [Thu, 21 Aug 2014 08:12:49 +0000 (18:12 +1000)]
Improve the internal connection and handshake logic

10 years agoTidy up the torrent and DHT APIs
Matt Joiner [Thu, 21 Aug 2014 08:07:06 +0000 (18:07 +1000)]
Tidy up the torrent and DHT APIs

10 years agoPrint dht-ping reponses with %q
Matt Joiner [Sat, 16 Aug 2014 14:44:05 +0000 (00:44 +1000)]
Print dht-ping reponses with %q

10 years agoTriage upload contention due to lack of uploader routine
Matt Joiner [Thu, 24 Jul 2014 03:46:49 +0000 (13:46 +1000)]
Triage upload contention due to lack of uploader routine

10 years agoTriage announcer leak on dropped torrents
Matt Joiner [Thu, 24 Jul 2014 03:46:14 +0000 (13:46 +1000)]
Triage announcer leak on dropped torrents

10 years agocmd/torrentfs: Missing listener on client
Matt Joiner [Thu, 24 Jul 2014 03:45:49 +0000 (13:45 +1000)]
cmd/torrentfs: Missing listener on client