]>
Sergey Matveev's repositories - btrtrc.git/log
Matt Joiner [Mon, 1 Jun 2020 01:11:41 +0000 (11:11 +1000)]
Fix race in webtorrent.TrackerClient.Run
Matt Joiner [Sun, 31 May 2020 14:14:51 +0000 (00:14 +1000)]
Got file storage working with segment index
Matt Joiner [Sun, 31 May 2020 14:04:15 +0000 (00:04 +1000)]
cmd/torrent-verify now needs to call InitIndex
Matt Joiner [Sun, 31 May 2020 14:03:51 +0000 (00:03 +1000)]
connLessTrusted takes peer instead of PeerConn
Matt Joiner [Sun, 31 May 2020 11:00:44 +0000 (21:00 +1000)]
webseed Client skeleton
Matt Joiner [Sun, 31 May 2020 11:00:19 +0000 (21:00 +1000)]
Abstract out segments mapping and use it in mmap storage
Matt Joiner [Sun, 31 May 2020 03:22:36 +0000 (13:22 +1000)]
Export PeerImpl and all its methods
Matt Joiner [Sun, 31 May 2020 03:09:56 +0000 (13:09 +1000)]
Got things compiling
Matt Joiner [Sat, 30 May 2020 07:52:27 +0000 (17:52 +1000)]
Save progress
Matt Joiner [Sat, 30 May 2020 05:18:28 +0000 (15:18 +1000)]
Seperate peer and PeerConn
Matt Joiner [Sat, 30 May 2020 00:14:20 +0000 (10:14 +1000)]
Break peer out from PeerConn
Matt Joiner [Fri, 29 May 2020 09:44:48 +0000 (19:44 +1000)]
Rename Peer to PeerInfo, and unexport PeerInfos
Matt Joiner [Sun, 24 May 2020 07:47:16 +0000 (17:47 +1000)]
BEP27 isn't implemented
https://github.com/anacrolix/torrent/issues/406
Yaroslav Kolomiiets [Wed, 20 May 2020 16:18:00 +0000 (17:18 +0100)]
torrent-metainfo-pprint: include the 'nodes' field into the output when non-empty
Matt Joiner [Thu, 21 May 2020 02:17:10 +0000 (12:17 +1000)]
Fix panic closing torrent that failed to open storage
Matt Joiner [Wed, 20 May 2020 02:04:53 +0000 (12:04 +1000)]
Improve cmd/tracker-announce output
Matt Joiner [Tue, 19 May 2020 05:22:58 +0000 (15:22 +1000)]
Don't error on setting info when we already have it
Matt Joiner [Tue, 19 May 2020 05:00:08 +0000 (15:00 +1000)]
Fix https://github.com/anacrolix/torrent/issues/388
Matt Joiner [Tue, 19 May 2020 04:59:45 +0000 (14:59 +1000)]
Add tests for https://github.com/anacrolix/torrent/issues/388
Rob Powell [Sun, 17 May 2020 15:26:59 +0000 (16:26 +0100)]
Update README.md
Matt Joiner [Tue, 19 May 2020 02:44:42 +0000 (12:44 +1000)]
Fix panic caused by adding disabled udp trackers
Matt Joiner [Wed, 13 May 2020 07:32:16 +0000 (17:32 +1000)]
Fix Client torrent "of %d bytes" in status
Matt Joiner [Wed, 13 May 2020 04:33:19 +0000 (14:33 +1000)]
Add comment to metainfo.MetaInfo.CreationDate
Matt Joiner [Wed, 13 May 2020 04:32:20 +0000 (14:32 +1000)]
Expose metainfo.GeneratePieces
Matt Joiner [Tue, 12 May 2020 01:31:56 +0000 (11:31 +1000)]
cmd/tracker-announce: Rework for better utility in shell scripts
Matt Joiner [Mon, 4 May 2020 23:00:43 +0000 (09:00 +1000)]
doc comment
Matt Joiner [Sun, 3 May 2020 09:31:20 +0000 (19:31 +1000)]
Fix benchmark failing due to mainReadLoop returning io.EOF
Matt Joiner [Sun, 3 May 2020 08:51:09 +0000 (18:51 +1000)]
Pull fix to panic in pion/ice
https://github.com/pion/ice/issues/182
Matt Joiner [Sun, 3 May 2020 08:45:12 +0000 (18:45 +1000)]
webtorrent: Synchronize access to PeerConnection.Close
Matt Joiner [Sun, 3 May 2020 08:42:37 +0000 (18:42 +1000)]
cmd/torrent: Output stats on termination, not just completion
Matt Joiner [Sun, 3 May 2020 08:42:03 +0000 (18:42 +1000)]
cmd/torrent: Add download -pex flag
For testing with https://github.com/anacrolix/torrent/issues/402.
Matt Joiner [Sun, 3 May 2020 08:41:33 +0000 (18:41 +1000)]
cmd/torrent: Only output progress lines when they change
This stops spamming output when seeding.
Matt Joiner [Sun, 3 May 2020 08:40:40 +0000 (18:40 +1000)]
Close PeerConn.conn synchronously
Matt Joiner [Sun, 3 May 2020 08:40:09 +0000 (18:40 +1000)]
Propagate and log more connection read/write errors now that logging is a bit fancier
Matt Joiner [Sun, 3 May 2020 08:39:16 +0000 (18:39 +1000)]
Limit the write buffer to work around a webrtc datachannel issue
https://github.com/pion/datachannel/issues/59. Fixes https://github.com/anacrolix/torrent/issues/402.
Matt Joiner [Sun, 3 May 2020 08:37:26 +0000 (18:37 +1000)]
Fix PeerConn outgoing field for webrtc
Due to jumping straight into handshakes, outgoing=true was assumed. This didn't actually solve the issue I thought it might, but is important for determining "preferred" connection direction, which may result in dropping connections.
Matt Joiner [Sat, 2 May 2020 08:39:03 +0000 (18:39 +1000)]
go get -u ./... && go mod tidy
Not including bazil.org/fuse though.
Matt Joiner [Sat, 2 May 2020 08:37:04 +0000 (18:37 +1000)]
Use anacrolix/log in storage completion
Matt Joiner [Sat, 2 May 2020 08:36:32 +0000 (18:36 +1000)]
Fix crash when announcing unloaded torrent to websocket
Yaroslav Kolomiiets [Thu, 30 Apr 2020 19:23:20 +0000 (20:23 +0100)]
add BEP references to documentation of the metadata fields
Matt Joiner [Mon, 27 Apr 2020 23:15:06 +0000 (09:15 +1000)]
Disable keepalives for http trackers
Should work around an issue with S3 trackers holding connections open for very long periods.
Matt Joiner [Mon, 27 Apr 2020 23:14:24 +0000 (09:14 +1000)]
Adjust websocket tracker logging levels
Matt Joiner [Mon, 27 Apr 2020 23:13:44 +0000 (09:13 +1000)]
Rework tracker status lines
Matt Joiner [Thu, 23 Apr 2020 03:09:27 +0000 (13:09 +1000)]
Update all dependencies
Matt Joiner [Thu, 23 Apr 2020 03:03:35 +0000 (13:03 +1000)]
Expose ClientConfig.Extensions
Also run the storage failure test with fast disabled for the seeder. This probably would have tickled some issues in the past, so it seems like a good place to try it out.
Matt Joiner [Thu, 23 Apr 2020 02:36:19 +0000 (12:36 +1000)]
Don't delete requests if we're choked per BEP 6
This should make the expected receive chunk counts match up more correctly. It doesn't seem to affect tests at the moment, but then we don't verify the expected receive chunk counts are correct either.
Matt Joiner [Thu, 23 Apr 2020 02:34:43 +0000 (12:34 +1000)]
Count expected received chunks instead of flagging them
This can be racy. In the TestReceiveChunkStorageFailure, when we have a storage write failure, we request the chunk again, but the peer has sometimes already sent it, and we return from the connection read loop with unexpected chunk after receiving it twice.
Matt Joiner [Thu, 23 Apr 2020 02:28:48 +0000 (12:28 +1000)]
Close leaked Clients in test
Matt Joiner [Thu, 23 Apr 2020 01:30:19 +0000 (11:30 +1000)]
Use anacrolix/log in test
Matt Joiner [Thu, 23 Apr 2020 01:26:22 +0000 (11:26 +1000)]
Update to the most recent bazil.org/fuse that supports MacOS
Matt Joiner [Wed, 22 Apr 2020 01:42:31 +0000 (11:42 +1000)]
Rename per-torrent ws tracker and output stats
Matt Joiner [Wed, 22 Apr 2020 01:41:12 +0000 (11:41 +1000)]
Remove websocket tracker logging level override
Matt Joiner [Tue, 21 Apr 2020 08:08:43 +0000 (18:08 +1000)]
Pool webtorrent tracker websockets at the Client level
Matt Joiner [Mon, 20 Apr 2020 04:00:29 +0000 (14:00 +1000)]
New metrics and log change
Matt Joiner [Mon, 20 Apr 2020 04:00:10 +0000 (14:00 +1000)]
Remove unused outbound offer answered field
Matt Joiner [Mon, 20 Apr 2020 03:42:25 +0000 (13:42 +1000)]
Log webrtc connection errors and rework webtorrent.TrackerClient
Matt Joiner [Mon, 20 Apr 2020 03:41:32 +0000 (13:41 +1000)]
Update anacrolix/missinggo/v2 import
Matt Joiner [Mon, 20 Apr 2020 00:21:31 +0000 (10:21 +1000)]
Fix some webtorrent PeerConnection leaks
Matt Joiner [Sun, 19 Apr 2020 01:30:48 +0000 (11:30 +1000)]
Readability
Matt Joiner [Sat, 18 Apr 2020 07:45:01 +0000 (17:45 +1000)]
Logging fixes
Matt Joiner [Fri, 17 Apr 2020 01:40:03 +0000 (11:40 +1000)]
Fix transfer test check for seeder piece counts
I suspect that there's a race where a connection is established to the seeder, but we haven't received it's completed piece information yet, and we already finished reading all the data we need from another connection. Probably comes up now because pending peers with the same address aren't clobbering each other since that was fixed.
Yaroslav Kolomiiets [Thu, 16 Apr 2020 12:17:10 +0000 (13:17 +0100)]
cmd/torrent: add -ipv4/-ipv6 options
Matt Joiner [Thu, 16 Apr 2020 07:51:57 +0000 (17:51 +1000)]
Pull anacrolix dht and upnp log level handling updates
Matt Joiner [Thu, 16 Apr 2020 07:21:15 +0000 (17:21 +1000)]
Fix race in Torrent.PeerConns
Matt Joiner [Thu, 16 Apr 2020 07:20:58 +0000 (17:20 +1000)]
Update anacrolix/log
Matt Joiner [Thu, 16 Apr 2020 04:52:52 +0000 (14:52 +1000)]
Fix false positive Goland code lint
Matt Joiner [Thu, 16 Apr 2020 04:12:17 +0000 (14:12 +1000)]
Fix small cache transfer tests
Since hashing Peer Addrs in the Torrent pending peers, clients are getting more than one connection to the seeder in the tests and failing.
Matt Joiner [Thu, 16 Apr 2020 04:09:45 +0000 (14:09 +1000)]
Fix pending peer counts in transfer tests
Also expose number of peers successfully added in some method returns.
Matt Joiner [Thu, 16 Apr 2020 02:17:18 +0000 (12:17 +1000)]
Adjust recently added logging
Matt Joiner [Thu, 16 Apr 2020 02:03:27 +0000 (12:03 +1000)]
Only announce to DHT if we have dialers or listeners
Matt Joiner [Thu, 16 Apr 2020 02:02:34 +0000 (12:02 +1000)]
Set tracker announce numWant to 0 if we're unable to dial
Matt Joiner [Thu, 16 Apr 2020 02:00:49 +0000 (12:00 +1000)]
Don't try to do conventional dials if we have no dialers
Stops us from consuming all the peers we store for no reason.
Matt Joiner [Thu, 16 Apr 2020 01:59:31 +0000 (11:59 +1000)]
Include hashed addr when comparing prioritized peers
In particular, fixes the issue where peers where can't calculate a priority and fallback on 0 clobber each other.
Matt Joiner [Thu, 16 Apr 2020 01:56:58 +0000 (11:56 +1000)]
Update the peersAddedBySource expvar
Matt Joiner [Thu, 16 Apr 2020 00:27:17 +0000 (10:27 +1000)]
Fix crash with conventional trackers when tcp and utp are disabled
Fixes #396.
Matt Joiner [Thu, 16 Apr 2020 00:26:37 +0000 (10:26 +1000)]
cmd/torrent: Fix -{utp,tcp}Peers defaults
Addresses https://github.com/anacrolix/torrent/issues/396#issuecomment-
614210103 .
Yaroslav Kolomiiets [Wed, 15 Apr 2020 12:02:34 +0000 (13:02 +0100)]
PEX: integrate with send throttling
Matt Joiner [Wed, 15 Apr 2020 08:09:15 +0000 (18:09 +1000)]
Count outgoing extended messages by extension protocol
Matt Joiner [Wed, 15 Apr 2020 07:28:39 +0000 (17:28 +1000)]
Fix change in Client.newConnection
Matt Joiner [Wed, 15 Apr 2020 07:26:46 +0000 (17:26 +1000)]
Merge branch 'webtorrent'
Matt Joiner [Wed, 15 Apr 2020 03:07:17 +0000 (13:07 +1000)]
Clone the AnnounceList out of Torrent.Metainfo
Should fix a race with Torrent.AddTrackers
Matt Joiner [Wed, 15 Apr 2020 03:05:41 +0000 (13:05 +1000)]
Comments and reduced locking in trackerScraper.Run
Yaroslav Kolomiiets [Wed, 8 Apr 2020 16:03:29 +0000 (17:03 +0100)]
PEX: add periodic deltas
Yaroslav Kolomiiets [Tue, 31 Mar 2020 20:14:43 +0000 (21:14 +0100)]
PEX: add connection tracking
Yaroslav Kolomiiets [Wed, 11 Dec 2019 11:45:04 +0000 (11:45 +0000)]
Share current connections with peers over PEX (anacrolix#341)
Matt Joiner [Tue, 14 Apr 2020 00:47:26 +0000 (10:47 +1000)]
More error handling and logging clean up
Matt Joiner [Mon, 13 Apr 2020 09:13:59 +0000 (19:13 +1000)]
Fix locks around Torrent.announceRequest
Matt Joiner [Mon, 13 Apr 2020 09:13:23 +0000 (19:13 +1000)]
webtorrent logging improvements
Matt Joiner [Mon, 13 Apr 2020 09:12:54 +0000 (19:12 +1000)]
Rename webtorrent.NewClient->NewTrackerClient
Matt Joiner [Mon, 13 Apr 2020 04:31:39 +0000 (14:31 +1000)]
Tidy up the webtorrent package, remove buffer
Matt Joiner [Mon, 13 Apr 2020 04:17:46 +0000 (14:17 +1000)]
Improve webtorrent tracker client logging
Matt Joiner [Mon, 13 Apr 2020 04:08:32 +0000 (14:08 +1000)]
Fix panic in status for webrtc connections
Matt Joiner [Mon, 13 Apr 2020 04:04:34 +0000 (14:04 +1000)]
Use offer_id for webrtc conn string
Matt Joiner [Sat, 11 Apr 2020 03:03:41 +0000 (13:03 +1000)]
cmd/torrent: Add download -tcpPeers and -utpPeers
Matt Joiner [Sat, 11 Apr 2020 03:03:23 +0000 (13:03 +1000)]
Update anacrolix/tagflag
Matt Joiner [Sat, 11 Apr 2020 02:58:12 +0000 (12:58 +1000)]
Merge branch 'torrent-cli' into webtorrent
Matt Joiner [Fri, 10 Apr 2020 05:27:30 +0000 (15:27 +1000)]
Add announce and download commands to cmd/torrent
Matt Joiner [Tue, 7 Apr 2020 04:30:27 +0000 (14:30 +1000)]
Big tidy up of webtorrent code
Matt Joiner [Tue, 7 Apr 2020 02:17:21 +0000 (12:17 +1000)]
Refactoring in webtorrent.Transport
Matt Joiner [Tue, 7 Apr 2020 02:16:53 +0000 (12:16 +1000)]
Fix missing return when creating websocket tracker announcer