Commit Graph

1666 Commits

Author SHA1 Message Date
Matt Joiner 09218898e9 Use NoSync with bolt storage and piece completion
Fixes terrible slowness on Linux.
2018-01-09 23:11:34 +11:00
Matt Joiner 6239a83bd6 Begin restructuring testutil to support testing torrents with various properties 2018-01-09 17:29:31 +11:00
Matt Joiner 659be3d366 Add some TODOs and tidy a test 2018-01-09 17:26:46 +11:00
Matt Joiner 8eb1a3effe Screen negative pieces
Should fix #228.
2018-01-09 17:26:01 +11:00
Denis aa42704976 fixing wrong offset in request (#226) 2018-01-08 11:03:34 +11:00
Matt Joiner 554b8e3e0c Improve comments on Config.{Upload,Download}RateLimiter
See #225
2018-01-07 20:31:10 +11:00
Matt Joiner 9626134211 File.offset wasn't applied to the reads on the Torrent 2018-01-07 19:26:24 +11:00
Matt Joiner ff6f28f87c Fix a log format string 2018-01-07 19:24:00 +11:00
Matt Joiner 7f48246119 Improve various File related doc comments 2018-01-07 11:57:02 +11:00
Matt Joiner 87a033e074 Readers obtained from File.NewReader should not readahead into other Files
Fixes #221. Additionally Torrent.length is a pointer and isn't set until the info is available to avoid it defaulting to zero.
2018-01-06 23:15:41 +11:00
Matt Joiner 4d1451f979 Rename File.PrioritizeRegion to DownloadRegion
Fixes #223
2018-01-06 16:54:17 +11:00
Matt Joiner 2f616b9d8b megacheck and staticcheck fixes 2018-01-06 16:53:40 +11:00
Matt Joiner 7b668237bc cmd/torrent-pick: Close file Reader 2018-01-06 16:41:05 +11:00
Matt Joiner 23363506f5 Reader: Changing responsiveness should wake blocked reads 2018-01-06 16:40:35 +11:00
Matt Joiner 57fec52371 mmap_span: Synchronize access to memory maps to avoid race when unmapping 2018-01-06 16:39:52 +11:00
Matt Joiner 6bcf2a58b2 storage: Rename mmapStorage->mmapClientImpl 2018-01-06 16:38:41 +11:00
Matt Joiner 56109b387d Formatting and comments 2018-01-06 16:37:40 +11:00
Matt Joiner 9b718566ba Add File.NewReader
Fixes #222
2018-01-06 16:37:13 +11:00
Matt Joiner e13b0eccbf Make peerID a public type
Wanted it applied to Client Status output
2018-01-06 15:50:45 +11:00
Matt Joiner c44ee5fec4 Use peerID type more, and make its Stringer output nicer 2018-01-06 12:34:31 +11:00
Matt Joiner a0f8f246e5 Add the fs test torrent to the repo
Debian keep moving it.
2017-12-29 13:50:26 +11:00
Matt Joiner a0172f7c6e Update error message in metainfo.Info.writeFiles
I think it was ripped out of some other code a long time ago.
2017-12-29 12:18:55 +11:00
Matt Joiner 5ac3e9ae54 Introduce metainfo.HashSize
This will be useful when BitTorrent 2 is implemented, and helps with creating arbitrary Info.Pieces
2017-12-29 12:17:58 +11:00
Matt Joiner 8195e8df7b Improve some doc comments 2017-12-29 12:16:05 +11:00
Matt Joiner f408e19a7a Survive panics while writing chunks
Also improve the comment on that code
2017-12-29 12:15:33 +11:00
Matt Joiner 898db894e0 When queuing a piece for hashing after receiving a chunk, clear all the dirty chunks
This should fix a bug triggered by storage inconsistencies.
2017-12-28 23:59:30 +11:00
Matt Joiner 25cf92502d Improve a log message 2017-12-28 23:58:07 +11:00
Matt Joiner c672491337
Merge pull request #219 from elgatito/http_user_agent
adding http user-agent setters and usage
2017-12-28 21:05:55 +11:00
Denis Kuzmenok 455a414204 adding http user-agent setters and usage 2017-12-28 10:47:51 +02:00
Denis a41adc49b5 added disable_libutp build flag usage (#215) 2017-12-06 11:56:26 +11:00
Matt Joiner 54a7d83c45 Log dropping of bad peers in debug mode only 2017-12-03 13:44:37 +11:00
Matt Joiner b9a1cb5b8b missinggo.LimitLen changed 2017-12-03 13:44:08 +11:00
Matt Joiner fa7c2e2bc6 Code comments 2017-12-03 00:35:09 +11:00
Matt Joiner 520da249a1 Test that mmap size doesn't exceed system memory address width
Should fix http://paste.ubuntu.com/26074620/
2017-12-02 10:26:09 +11:00
Matt Joiner 27253eb0d0 Fix panic in Torrent.addrActive if there are closed connections
Fixes #214
2017-12-02 10:01:27 +11:00
Matt Joiner 47622fad36 Fix the Stats panic in #214 2017-12-02 09:58:08 +11:00
Matt Joiner d77e939944 Synchronize access to storage 2017-12-01 23:09:07 +11:00
Matt Joiner 72340f6ffc Remove racy part of test 2017-12-01 23:08:53 +11:00
Matt Joiner b0914f2645 Improve issue #211 test name 2017-12-01 18:13:21 +11:00
Matt Joiner 4190856b6c sortimports 2017-12-01 18:12:29 +11:00
Matt Joiner 10f7a8124a Add test for #211 2017-12-01 18:11:20 +11:00
Matt Joiner afa9d2ba28 Torrent.bytesLeft was taking a copy instead of pointer to Piece 2017-12-01 17:58:42 +11:00
Matt Joiner 2daa604eb2 Publish piece state changes after verifying piece 2017-12-01 14:03:05 +11:00
Matt Joiner eed0743d4e bencode.scanner.ReadByte returned errors when it shouldn't have 2017-11-10 23:44:24 +11:00
Matt Joiner 74c5d425fb bencode: Handle encoding big.Ints 2017-11-08 21:34:24 +11:00
Matt Joiner 79a0e0f1fd bencode: Tidy import block 2017-11-08 20:58:35 +11:00
Matt Joiner 8f7720edb2 Merge commit '6ab65a49a8a72dea1a28968b2ab42a85fd4566ec'
# Conflicts:
#	config.go
2017-11-08 20:23:15 +11:00
Matt Joiner da9cbc7cf0 metainfo: Omit empty Metainfo.InfoBytes 2017-11-08 19:57:05 +11:00
Matt Joiner 163a63f9a7 Torrent.Metainfo: Don't return incomplete metadata bytes
Fixes #208
2017-11-08 19:56:20 +11:00
Matt Joiner f960ec1b65 cmd/torrent-metainfo-pprint: Just take a single metainfo to stdin
Move processing into its own function too.
2017-11-08 19:33:05 +11:00