2
0
mirror of synced 2025-02-24 14:48:27 +00:00

860 Commits

Author SHA1 Message Date
Matt Joiner
b7a8bb7570 Simplify the torrent Data interface
None of the methods are optional anymore. Removed the nasty wrappers for some data implementations. Moved data.Data back into the main torrent package. Should make it much easier to understand for people implementing their own Data implementations.
2015-10-02 00:09:04 +10:00
Matt Joiner
afece1f67f Match the names used in other blob implementations 2015-10-01 15:41:30 +10:00
Matt Joiner
d8a43e1b03 Reduce UDP tracker response buffer size from 64KiB to 2KiB 2015-10-01 00:36:41 +10:00
Matt Joiner
58c997210e Track peer sources with a dict, and don't exceed high water mark 2015-09-28 15:30:13 +10:00
Matt Joiner
53259397fc Initialize connection piece priorities lazily, and using a pool 2015-09-26 17:27:35 +10:00
Matt Joiner
52b0705956 Include num pieces in torrent status 2015-09-25 22:05:32 +10:00
Matt Joiner
22428da0e3 Add packed IP list
This saves a lot of memory by allowing the IP blocklist to be mmap()ed in. In production with the latest level1 blocklist it's 35MB per process.
2015-09-23 18:25:22 +10:00
Matt Joiner
87158e594a Derp 2015-09-20 21:09:55 +10:00
Matt Joiner
0fa547e292 Don't warn about zero port peers from trackers 2015-09-20 21:09:10 +10:00
Matt Joiner
8949375bd6 bencode: Decode very large integers as big.Int if they overflow int64 2015-09-20 21:08:42 +10:00
Matt Joiner
f9ed9c4c04 Avoid frequent allocation of piece request order iterator 2015-09-20 11:29:52 +10:00
Matt Joiner
31ce250a6b Merge pull request #30 from therewillbecode/patch-1
Improved Word Flow
2015-09-17 22:18:01 +10:00
Tom
fe646f0810 Improved Word Flow 2015-09-17 11:56:45 +01:00
Matt Joiner
cd96dbcd9d Tidy 2015-09-17 12:54:03 +10:00
Matt Joiner
afed0b7ce3 Add a test for dropping a torrent before it gets the Info
Really just to check the behaviour doesn't change, it was mentioned before but wasn't the actual cause of any problem.
2015-09-17 12:53:52 +10:00
Matt Joiner
11d703fbf1 Count failed chunk sends against a connection 2015-09-17 12:50:29 +10:00
Matt Joiner
9f324d04e2 Tweak logging 2015-09-17 12:40:35 +10:00
Matt Joiner
0113776f1d Reduce noise about zero port peers 2015-09-17 12:39:51 +10:00
Matt Joiner
313adf1d2f Some code missed in the last commit ಠ_ಠ 2015-09-06 12:35:56 +10:00
Matt Joiner
eebd09c0fe Allow subscribing to torrent piece state changes 2015-09-06 12:33:22 +10:00
Matt Joiner
5ea0c26717 Some doc comments 2015-09-06 12:31:23 +10:00
Matt Joiner
e735aeeee3 fs: Update for changes in bazil.org/fuse 2015-08-23 19:25:33 +10:00
Matt Joiner
a101f9bcbd bencode: Remove trailing bytes checks, this broke the peer protocol and should be a new API 2015-08-23 19:24:29 +10:00
Matt Joiner
577ea21793 Revert "bencode: Trailing bytes on Unmarshal is an error"
This reverts commit ad73a0ea8958ed6cb15513798762be65e5c29568.
2015-08-23 19:10:22 +10:00
Matt Joiner
0403d4185d bencode: Simplify parse_int 2015-08-23 17:51:24 +10:00
Matt Joiner
ad73a0ea89 bencode: Trailing bytes on Unmarshal is an error 2015-08-23 17:47:01 +10:00
Matt Joiner
2ccbaa4e79 bencode: Don't allow extraneous trailing 'e's 2015-08-23 17:45:59 +10:00
Matt Joiner
baf389aa8c bencode: Add tests for Unmarshalling trailing bytes, and extraneous 'e' 2015-08-23 16:13:30 +10:00
Matt Joiner
4fbbc0dd41 bencode: Fuzz 2015-08-23 15:59:49 +10:00
Matt Joiner
4472a0e27a Add Debug flag to Config
I'll use this to squash the noisy logging for people who don't care.
2015-08-23 12:59:03 +10:00
Matt Joiner
2202a31b85 Add tests inspired by issue #27 2015-08-23 12:50:32 +10:00
Matt Joiner
698181e470 Code comment 2015-08-23 12:49:35 +10:00
Matt Joiner
ef098c47ac Needlessly convoluted 2015-08-19 13:29:01 +10:00
Matt Joiner
87bd9b5d17 dht: Use new Msg.Args helper method 2015-08-18 02:12:52 +10:00
Matt Joiner
288abb1c6b dht: Remove redundant code which caused rare crash 2015-08-18 02:12:27 +10:00
Matt Joiner
74d3598656 dht: Use passive from server config 2015-08-18 02:11:48 +10:00
Matt Joiner
3204e276f2 dht: Improve on on Msg methods 2015-08-18 02:11:09 +10:00
Matt Joiner
b536975580 dht: BEP43 2015-08-18 02:09:10 +10:00
Matt Joiner
89f024a76b dht: Revive the UnmarshalGetPeersResponse test 2015-08-18 02:08:08 +10:00
Matt Joiner
1db00a54f0 Redo the compact peer types 2015-08-17 19:52:47 +10:00
Matt Joiner
6b27e1473d Upload after a piece completes 2015-08-12 17:11:14 +10:00
Matt Joiner
0f606a2d24 Add TestSeedAfterDownloading 2015-08-12 16:51:12 +10:00
Matt Joiner
31acbac207 Several bad KRPC message are crying wolf 2015-08-06 09:02:50 +10:00
Matt Joiner
abdf1f049f dht: Support IPv6 compact peers 2015-08-06 09:01:38 +10:00
Matt Joiner
a7c374cff7 dht: Short circuit non-DHT traffic 2015-08-06 08:59:30 +10:00
Matt Joiner
6c8c870b28 Log zero ports from trackers 2015-08-06 08:58:13 +10:00
Matt Joiner
cb00308157 Back off on the kicked connections log 2015-08-06 08:56:36 +10:00
Matt Joiner
59e50bd614 Log who's giving us zero ports over PEX
In the long run this will help determine why this happens.
2015-08-06 08:55:48 +10:00
Matt Joiner
502a7ebebd utp.NewSocket now takes network parameter 2015-08-05 02:51:40 +10:00
Matt Joiner
5d5ee66be4 Clear piece touch flag from connection after a piece is hashed 2015-08-05 02:43:53 +10:00