]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
9 years agoReorder some imports
Matt Joiner [Fri, 26 Dec 2014 06:17:00 +0000 (17:17 +1100)]
Reorder some imports

9 years agoutil.Addr* funcs: Add optimizations for *net.UDPAddr
Matt Joiner [Fri, 26 Dec 2014 06:16:20 +0000 (17:16 +1100)]
util.Addr* funcs: Add optimizations for *net.UDPAddr

9 years agoRip out the pieces by bytes left and responsive download strategy stuff
Matt Joiner [Fri, 26 Dec 2014 06:15:17 +0000 (17:15 +1100)]
Rip out the pieces by bytes left and responsive download strategy stuff

9 years agoDon't include active handshakes in the half open limit
Matt Joiner [Tue, 23 Dec 2014 04:20:28 +0000 (15:20 +1100)]
Don't include active handshakes in the half open limit

Large numbers of incoming connections choke initiation of outbound conns.

9 years agodht: Fix partial deadlock closing peer discovery
Matt Joiner [Sat, 20 Dec 2014 02:02:12 +0000 (13:02 +1100)]
dht: Fix partial deadlock closing peer discovery

9 years agoDon't guess cap for some torrent fields, need to minimize memory use
Matt Joiner [Sat, 20 Dec 2014 02:00:21 +0000 (13:00 +1100)]
Don't guess cap for some torrent fields, need to minimize memory use

9 years agodht-get-peers: Don't bother to close the server before quitting
Matt Joiner [Fri, 19 Dec 2014 23:11:34 +0000 (10:11 +1100)]
dht-get-peers: Don't bother to close the server before quitting

The closing code isn't very clean yet, and it's unnecessary.

9 years agodht: Some peer sent me a bad info_hash
Matt Joiner [Fri, 19 Dec 2014 23:10:53 +0000 (10:10 +1100)]
dht: Some peer sent me a bad info_hash

9 years agodht: Use a bloom filter to track contacted nodes during peer discovery
Matt Joiner [Fri, 19 Dec 2014 23:10:22 +0000 (10:10 +1100)]
dht: Use a bloom filter to track contacted nodes during peer discovery

9 years agodht: Use both bootstrap addrs, as they seem to take turns going down
Matt Joiner [Fri, 19 Dec 2014 23:09:11 +0000 (10:09 +1100)]
dht: Use both bootstrap addrs, as they seem to take turns going down

9 years agoAdd some tools for analysing bloom filter use
Matt Joiner [Fri, 19 Dec 2014 23:07:41 +0000 (10:07 +1100)]
Add some tools for analysing bloom filter use

9 years agoRefine connection status flags
Matt Joiner [Tue, 9 Dec 2014 06:26:06 +0000 (00:26 -0600)]
Refine connection status flags

9 years agodht: We can now message nodes with no ID if there's nothing better
Matt Joiner [Tue, 9 Dec 2014 06:25:49 +0000 (00:25 -0600)]
dht: We can now message nodes with no ID if there's nothing better

9 years agoUpdate TODO
Matt Joiner [Tue, 9 Dec 2014 06:24:57 +0000 (00:24 -0600)]
Update TODO

9 years agodht: Slow down the start a little, as lots of torrents will hammer out UDP packets
Matt Joiner [Tue, 9 Dec 2014 06:24:05 +0000 (00:24 -0600)]
dht: Slow down the start a little, as lots of torrents will hammer out UDP packets

9 years agoFixes due to not pending chunk specs prematurely
Matt Joiner [Tue, 9 Dec 2014 06:22:05 +0000 (00:22 -0600)]
Fixes due to not pending chunk specs prematurely

9 years ago:)
Matt Joiner [Tue, 9 Dec 2014 03:59:01 +0000 (21:59 -0600)]
:)

9 years agoAdd pending peers high water mark to stop excessively long running DHT queries
Matt Joiner [Tue, 9 Dec 2014 03:58:49 +0000 (21:58 -0600)]
Add pending peers high water mark to stop excessively long running DHT queries

9 years agodht: Limit the size of peer discovery backlog
Matt Joiner [Tue, 9 Dec 2014 03:57:53 +0000 (21:57 -0600)]
dht: Limit the size of peer discovery backlog

9 years agoSave memory by not pending chunks prematurely
Matt Joiner [Tue, 9 Dec 2014 03:57:13 +0000 (21:57 -0600)]
Save memory by not pending chunks prematurely

9 years agodht: During get_peers, put discovered nodes in a backlog for later querying
Matt Joiner [Tue, 9 Dec 2014 02:00:42 +0000 (20:00 -0600)]
dht: During get_peers, put discovered nodes in a backlog for later querying

9 years agodht: A few minor improvements
Matt Joiner [Tue, 9 Dec 2014 01:14:10 +0000 (19:14 -0600)]
dht: A few minor improvements

9 years agodht: Cap nodes to 10k, drop nodes that timeout if we're out of space
Matt Joiner [Tue, 9 Dec 2014 01:09:11 +0000 (19:09 -0600)]
dht: Cap nodes to 10k, drop nodes that timeout if we're out of space

9 years agoUse bitbucket.org/anacrolix/sync
Matt Joiner [Mon, 8 Dec 2014 23:00:38 +0000 (17:00 -0600)]
Use bitbucket.org/anacrolix/sync

9 years agodht: Store transactions by key, and fix partial deadlock
Matt Joiner [Mon, 8 Dec 2014 22:59:25 +0000 (16:59 -0600)]
dht: Store transactions by key, and fix partial deadlock

9 years agoImprove announce logging
Matt Joiner [Mon, 8 Dec 2014 22:57:42 +0000 (16:57 -0600)]
Improve announce logging

9 years agodht: Tidy up GetPeers()
Matt Joiner [Sun, 7 Dec 2014 03:22:12 +0000 (21:22 -0600)]
dht: Tidy up GetPeers()

9 years agodht: Retry queries twice before timing out
Matt Joiner [Sun, 7 Dec 2014 03:21:20 +0000 (21:21 -0600)]
dht: Retry queries twice before timing out

9 years agoFix UTP still listening despite attempting to temporarily disable it
Matt Joiner [Sun, 7 Dec 2014 03:19:56 +0000 (21:19 -0600)]
Fix UTP still listening despite attempting to temporarily disable it

9 years agoExpose various DHT state
Matt Joiner [Sun, 7 Dec 2014 03:19:02 +0000 (21:19 -0600)]
Expose various DHT state

9 years agoMake some overlap of piece priorities
Matt Joiner [Sun, 7 Dec 2014 03:18:17 +0000 (21:18 -0600)]
Make some overlap of piece priorities

The goal is to reduce duplicating requests on higher priority pieces.

9 years agoWrite piece status as counts of contiguous identical states
Matt Joiner [Sun, 7 Dec 2014 03:16:02 +0000 (21:16 -0600)]
Write piece status as counts of contiguous identical states

9 years agointernal/pieceordering: Switch to a different skiplist implementation
Matt Joiner [Sun, 7 Dec 2014 03:15:03 +0000 (21:15 -0600)]
internal/pieceordering: Switch to a different skiplist implementation

9 years agoSet a low water mark for replenishing requests
Matt Joiner [Fri, 5 Dec 2014 06:58:43 +0000 (00:58 -0600)]
Set a low water mark for replenishing requests

9 years agopieceordering: Rename RemovePiece->DeletePiece and complete tests
Matt Joiner [Fri, 5 Dec 2014 06:58:04 +0000 (00:58 -0600)]
pieceordering: Rename RemovePiece->DeletePiece and complete tests

Note that tests currently fail due to bug in skiplist?

9 years agoForgot to commit this part of fixing disable TCP dialing out
Matt Joiner [Fri, 5 Dec 2014 06:56:51 +0000 (00:56 -0600)]
Forgot to commit this part of fixing disable TCP dialing out

9 years agoSet priorities ahead of the current read position
Matt Joiner [Fri, 5 Dec 2014 06:56:28 +0000 (00:56 -0600)]
Set priorities ahead of the current read position

9 years agommap_span: Avoid allocating the span slice on every use
Matt Joiner [Fri, 5 Dec 2014 06:54:55 +0000 (00:54 -0600)]
mmap_span: Avoid allocating the span slice on every use

9 years agoDisabling TCP didn't include dialing out, also always disable UTP until the package...
Matt Joiner [Fri, 5 Dec 2014 06:53:26 +0000 (00:53 -0600)]
Disabling TCP didn't include dialing out, also always disable UTP until the package is fixed

9 years agoSwitch back to using the UTP redesign
Matt Joiner [Thu, 4 Dec 2014 01:58:02 +0000 (19:58 -0600)]
Switch back to using the UTP redesign

9 years agoA probably unhelpful test that ensures UTP performs
Matt Joiner [Thu, 4 Dec 2014 01:57:43 +0000 (19:57 -0600)]
A probably unhelpful test that ensures UTP performs

9 years agofs: Improve tests
Matt Joiner [Wed, 3 Dec 2014 18:53:10 +0000 (12:53 -0600)]
fs: Improve tests

9 years agoImprove fs/unwedge tests
Matt Joiner [Wed, 3 Dec 2014 18:52:08 +0000 (12:52 -0600)]
Improve fs/unwedge tests

9 years agotracker/udp: Tidy up tests
Matt Joiner [Wed, 3 Dec 2014 18:51:49 +0000 (12:51 -0600)]
tracker/udp: Tidy up tests

9 years agoutil/dirwatch: Some tidying
Matt Joiner [Wed, 3 Dec 2014 18:10:29 +0000 (12:10 -0600)]
util/dirwatch: Some tidying

9 years agodht: Seemed to be wasting a lot of memory here
Matt Joiner [Wed, 3 Dec 2014 07:08:18 +0000 (01:08 -0600)]
dht: Seemed to be wasting a lot of memory here

9 years agoPiece priorities, torrent read interface and many fixes
Matt Joiner [Wed, 3 Dec 2014 07:07:50 +0000 (01:07 -0600)]
Piece priorities, torrent read interface and many fixes

9 years agodht: Don't log messages that have been truncated
Matt Joiner [Wed, 3 Dec 2014 00:43:28 +0000 (18:43 -0600)]
dht: Don't log messages that have been truncated

9 years agoHarmless shortcut initing peer pieces when we have the torrent info
Matt Joiner [Wed, 3 Dec 2014 00:43:05 +0000 (18:43 -0600)]
Harmless shortcut initing peer pieces when we have the torrent info

9 years agoWhen metadata arrives, we also need to init request ordering
Matt Joiner [Wed, 3 Dec 2014 00:42:22 +0000 (18:42 -0600)]
When metadata arrives, we also need to init request ordering

9 years agoRemove commented out code
Matt Joiner [Wed, 3 Dec 2014 00:23:07 +0000 (18:23 -0600)]
Remove commented out code

9 years agoAdd piece ordering per-connection piece request priority
Matt Joiner [Wed, 3 Dec 2014 00:22:38 +0000 (18:22 -0600)]
Add piece ordering per-connection piece request priority

9 years agodht: Receiving UDP source port 0 isn't an error apparently
Matt Joiner [Tue, 2 Dec 2014 20:55:41 +0000 (14:55 -0600)]
dht: Receiving UDP source port 0 isn't an error apparently

9 years agoiplist: Double performance of parsing line
Matt Joiner [Tue, 2 Dec 2014 20:55:06 +0000 (14:55 -0600)]
iplist: Double performance of parsing line

9 years agoiplist: Benchmark parsing lines
Matt Joiner [Tue, 2 Dec 2014 20:54:37 +0000 (14:54 -0600)]
iplist: Benchmark parsing lines

9 years agoSpeed up tests, allow -short for some UDP tracker stuff
Matt Joiner [Tue, 2 Dec 2014 20:23:01 +0000 (14:23 -0600)]
Speed up tests, allow -short for some UDP tracker stuff

9 years agoBacked out changeset: 603a76a6bdb0
Matt Joiner [Tue, 2 Dec 2014 06:11:39 +0000 (00:11 -0600)]
Backed out changeset: 603a76a6bdb0

9 years agoiplist: Reuse the p2p line regexp
Matt Joiner [Tue, 2 Dec 2014 05:49:21 +0000 (23:49 -0600)]
iplist: Reuse the p2p line regexp

9 years agoUpdate to use utp package redesign
Matt Joiner [Tue, 2 Dec 2014 05:35:39 +0000 (23:35 -0600)]
Update to use utp package redesign

9 years agoReuse the info bytes when marshalling torrent metainfo
Matt Joiner [Tue, 2 Dec 2014 05:33:38 +0000 (23:33 -0600)]
Reuse the info bytes when marshalling torrent metainfo

9 years agoEnsure that when a cached torrent is used, the info hash is correct
Matt Joiner [Tue, 2 Dec 2014 05:32:40 +0000 (23:32 -0600)]
Ensure that when a cached torrent is used, the info hash is correct

9 years agoSkip mapping files with length 0
Matt Joiner [Tue, 2 Dec 2014 01:13:08 +0000 (19:13 -0600)]
Skip mapping files with length 0

9 years agodht: Don't log messages that fail to decode on the first byte
Matt Joiner [Tue, 2 Dec 2014 01:12:26 +0000 (19:12 -0600)]
dht: Don't log messages that fail to decode on the first byte

9 years agoDon't clobber torrent name with empty magnet display name
Matt Joiner [Tue, 2 Dec 2014 01:12:03 +0000 (19:12 -0600)]
Don't clobber torrent name with empty magnet display name

9 years agoFor now always read ahead 4 extra blocks
Matt Joiner [Mon, 1 Dec 2014 23:02:31 +0000 (17:02 -0600)]
For now always read ahead 4 extra blocks

9 years agodht: Improve bad KRPC message screening
Matt Joiner [Mon, 1 Dec 2014 23:01:55 +0000 (17:01 -0600)]
dht: Improve bad KRPC message screening

9 years agoTrivial
Matt Joiner [Mon, 1 Dec 2014 22:40:18 +0000 (16:40 -0600)]
Trivial

9 years agoRework torrent adding
Matt Joiner [Mon, 1 Dec 2014 22:40:03 +0000 (16:40 -0600)]
Rework torrent adding

9 years agoSupport banning torrents
Matt Joiner [Mon, 1 Dec 2014 22:39:09 +0000 (16:39 -0600)]
Support banning torrents

9 years agoDon't send constructed MetaInfo down a channel when it's available, build it on demand
Matt Joiner [Mon, 1 Dec 2014 22:37:40 +0000 (16:37 -0600)]
Don't send constructed MetaInfo down a channel when it's available, build it on demand

9 years agoAdd InfoHash.HexString convenience
Matt Joiner [Mon, 1 Dec 2014 22:34:45 +0000 (16:34 -0600)]
Add InfoHash.HexString convenience

9 years agocmd/torrentfs: Tidy up flags, switch to default download strategy
Matt Joiner [Mon, 1 Dec 2014 20:31:52 +0000 (14:31 -0600)]
cmd/torrentfs: Tidy up flags, switch to default download strategy

9 years agoDestroy the torrent FS on exit signals so ongoing syscalls don't block the unmount
Matt Joiner [Mon, 1 Dec 2014 20:30:50 +0000 (14:30 -0600)]
Destroy the torrent FS on exit signals so ongoing syscalls don't block the unmount

9 years agotorrent.String, if the name isn't available, use the info hash
Matt Joiner [Mon, 1 Dec 2014 20:29:30 +0000 (14:29 -0600)]
torrent.String, if the name isn't available, use the info hash

9 years agoSkip on errors testing UDP tracker, need to implement a fake server
Matt Joiner [Mon, 1 Dec 2014 20:29:08 +0000 (14:29 -0600)]
Skip on errors testing UDP tracker, need to implement a fake server

9 years agoSleep between announces in case there are no trackers
Matt Joiner [Mon, 1 Dec 2014 18:43:34 +0000 (12:43 -0600)]
Sleep between announces in case there are no trackers

9 years agoImprove the interface with client and download strategies
Matt Joiner [Mon, 1 Dec 2014 09:37:33 +0000 (03:37 -0600)]
Improve the interface with client and download strategies

9 years agoGive each connection its own piece priority order
Matt Joiner [Mon, 1 Dec 2014 09:36:25 +0000 (03:36 -0600)]
Give each connection its own piece priority order

9 years agoFast start torrent tracker announces
Matt Joiner [Mon, 1 Dec 2014 09:33:52 +0000 (03:33 -0600)]
Fast start torrent tracker announces

9 years agoMisc good fixes
Matt Joiner [Mon, 1 Dec 2014 09:32:17 +0000 (03:32 -0600)]
Misc good fixes

9 years agocmd/torrent: Add -upload flag
Matt Joiner [Mon, 1 Dec 2014 09:29:56 +0000 (03:29 -0600)]
cmd/torrent: Add -upload flag

9 years agoLog the type for a rare DHT crash
Matt Joiner [Mon, 1 Dec 2014 09:29:06 +0000 (03:29 -0600)]
Log the type for a rare DHT crash

9 years agoDisable IP block list in some tests
Matt Joiner [Mon, 1 Dec 2014 09:28:39 +0000 (03:28 -0600)]
Disable IP block list in some tests

9 years agoNot ever hashed takes higher priority than partially downloaded
Matt Joiner [Mon, 1 Dec 2014 09:28:25 +0000 (03:28 -0600)]
Not ever hashed takes higher priority than partially downloaded

9 years agoWhen metainfo isn't complete, treat peers that don't support ut_metadata as useless
Matt Joiner [Mon, 1 Dec 2014 09:27:52 +0000 (03:27 -0600)]
When metainfo isn't complete, treat peers that don't support ut_metadata as useless

9 years agoBlock IPv6 for now
Matt Joiner [Mon, 1 Dec 2014 09:27:11 +0000 (03:27 -0600)]
Block IPv6 for now

9 years agoFix race reordering tracker tier
Matt Joiner [Sun, 30 Nov 2014 02:33:45 +0000 (20:33 -0600)]
Fix race reordering tracker tier

9 years agoSome changes to block list handling
Matt Joiner [Sun, 30 Nov 2014 02:33:17 +0000 (20:33 -0600)]
Some changes to block list handling

9 years agodht: Error while sending a find_node during bootstrap is not fatal
Matt Joiner [Sun, 30 Nov 2014 02:31:07 +0000 (20:31 -0600)]
dht: Error while sending a find_node during bootstrap is not fatal

9 years agoDefault download strategy: Download while initial hashing
Matt Joiner [Sun, 30 Nov 2014 02:30:20 +0000 (20:30 -0600)]
Default download strategy: Download while initial hashing

9 years agoPrint iplist.Range nicely
Matt Joiner [Sun, 30 Nov 2014 02:30:04 +0000 (20:30 -0600)]
Print iplist.Range nicely

9 years agorouter.bittorrent.com is in the level1 blocklist so use the alternative bootstrap...
Matt Joiner [Sat, 29 Nov 2014 01:45:12 +0000 (19:45 -0600)]
router.bittorrent.com is in the level1 blocklist so use the alternative bootstrap addr

9 years agoA few tweaks
Matt Joiner [Sat, 29 Nov 2014 01:42:18 +0000 (19:42 -0600)]
A few tweaks

9 years agoMake use of IP blocklist and change the client lock to RWMutex
Matt Joiner [Sat, 29 Nov 2014 01:41:53 +0000 (19:41 -0600)]
Make use of IP blocklist and change the client lock to RWMutex

The blocklist is loaded through from the file at TORRENT_BLOCKLIST_FILE or
$HOME/.config/torrent/blocklist.

9 years agoChange all references to github.com/nsf/libtorgo to github.com/anacrolix/libtorgo
Matt Joiner [Fri, 28 Nov 2014 18:13:57 +0000 (12:13 -0600)]
Change all references to github.com/nsf/libtorgo to github.com/anacrolix/libtorgo

9 years agoAllow DHT server config to be passed through when creating a new client
Matt Joiner [Fri, 28 Nov 2014 18:13:08 +0000 (12:13 -0600)]
Allow DHT server config to be passed through when creating a new client

9 years agoAdd a passive flag for DHT, that disables responding to queries
Matt Joiner [Fri, 28 Nov 2014 18:04:38 +0000 (12:04 -0600)]
Add a passive flag for DHT, that disables responding to queries

9 years agoImplement iplist package, for block lists
Matt Joiner [Fri, 28 Nov 2014 18:04:15 +0000 (12:04 -0600)]
Implement iplist package, for block lists

9 years agoExtra time between tracker announces
Matt Joiner [Fri, 28 Nov 2014 14:39:13 +0000 (08:39 -0600)]
Extra time between tracker announces

9 years agoWasn't actually copying the tiers
Matt Joiner [Fri, 21 Nov 2014 06:54:19 +0000 (00:54 -0600)]
Wasn't actually copying the tiers

http://stackoverflow.com/questions/27055626/concisely-deep-copy-a-slice