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

1707 Commits

Author SHA1 Message Date
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
Matt Joiner
3aa1e8f3ef Add a test for behaviour after getting metadata_size and before GotInfo
#208
2017-11-08 19:31:10 +11:00
Matt Joiner
1b9606ae75 The "m" field in the extended handshake is not mandatory 2017-11-08 19:29:55 +11:00
Matt Joiner
2f8a2ada2e Config.Debug isn't just for logging 2017-11-08 19:29:01 +11:00
Matt Joiner
8712cc25d0 Make Client.PeerID return [20]byte 2017-11-08 19:28:37 +11:00
Matt Joiner
b38996ae2a Generalise use of peerExtensionBytes 2017-11-08 19:28:03 +11:00
Matt Joiner
7eb62eec0d Move some code around 2017-11-08 15:00:18 +11:00
themihai
6ab65a49a8 feat(config): Allows the torrent client to customise the client identity and connection config 2017-11-07 20:14:13 +02:00
Matt Joiner
ff1bd84e7e Fix #205 2017-11-08 00:34:59 +11:00
Matt Joiner
cecc70f4cc More megacheck 2017-11-08 00:12:34 +11:00