Commit Graph

2615 Commits

Author SHA1 Message Date
Matt Joiner cf6d161256 cmd/torrent-verify: Fix piece hash output 2020-06-01 11:16:17 +10:00
Matt Joiner 235c67a6ec Remove debug logging from storage file implementation 2020-06-01 11:12:51 +10:00
Matt Joiner 604af2be82 storage file implementation: Error on short writes 2020-06-01 11:12:33 +10:00
Matt Joiner c3696aa5a4 Fix race in webtorrent.TrackerClient.Run 2020-06-01 11:11:41 +10:00
Matt Joiner 69a0f2f1e4 Got file storage working with segment index 2020-06-01 00:14:51 +10:00
Matt Joiner 3cbdf4aa98 cmd/torrent-verify now needs to call InitIndex 2020-06-01 00:04:15 +10:00
Matt Joiner 563a09cc47 connLessTrusted takes peer instead of PeerConn 2020-06-01 00:03:51 +10:00
Matt Joiner decf8bb6ea webseed Client skeleton 2020-05-31 21:00:44 +10:00
Matt Joiner 7fec6785bf Abstract out segments mapping and use it in mmap storage 2020-05-31 21:00:19 +10:00
Matt Joiner 317146dec9 Export PeerImpl and all its methods 2020-05-31 13:22:36 +10:00
Matt Joiner 3f8f6e1733 Got things compiling 2020-05-31 13:09:56 +10:00
Matt Joiner 3d1f08b12f Save progress 2020-05-30 17:52:27 +10:00
Matt Joiner de88c620bc Seperate peer and PeerConn 2020-05-30 15:18:28 +10:00
Matt Joiner 02adc3f2ee Break peer out from PeerConn 2020-05-30 10:14:20 +10:00
Matt Joiner cb37a914c1 Rename Peer to PeerInfo, and unexport PeerInfos 2020-05-29 19:44:48 +10:00
Matt Joiner c7ea314de0
BEP27 isn't implemented
https://github.com/anacrolix/torrent/issues/406
2020-05-24 17:47:16 +10:00
Yaroslav Kolomiiets 6ea0344efd torrent-metainfo-pprint: include the 'nodes' field into the output when non-empty 2020-05-21 16:31:14 +10:00
Matt Joiner c04f09ee42 Fix panic closing torrent that failed to open storage 2020-05-21 12:17:10 +10:00
Matt Joiner a1a715f362 Improve cmd/tracker-announce output 2020-05-20 12:04:53 +10:00
Matt Joiner e33d773391 Don't error on setting info when we already have it 2020-05-19 15:22:58 +10:00
Matt Joiner 91afef8733 Fix https://github.com/anacrolix/torrent/issues/388 2020-05-19 15:00:08 +10:00
Matt Joiner f6c757ca65 Add tests for https://github.com/anacrolix/torrent/issues/388 2020-05-19 14:59:45 +10:00
Rob Powell 26d7034d72 Update README.md 2020-05-19 14:24:37 +10:00
Matt Joiner 78d14c78d2 Fix panic caused by adding disabled udp trackers 2020-05-19 12:44:42 +10:00
Matt Joiner 461403c0f5 Fix Client torrent "of %d bytes" in status 2020-05-13 17:32:16 +10:00
Matt Joiner 587f28d2fa Add comment to metainfo.MetaInfo.CreationDate 2020-05-13 14:33:26 +10:00
Matt Joiner ccc71463b9 Expose metainfo.GeneratePieces 2020-05-13 14:33:26 +10:00
Matt Joiner 533fec840a cmd/tracker-announce: Rework for better utility in shell scripts 2020-05-12 11:31:56 +10:00
Matt Joiner cc5d2abe18 doc comment 2020-05-05 09:00:43 +10:00
Matt Joiner 4eee1ba261 Fix benchmark failing due to mainReadLoop returning io.EOF 2020-05-03 19:31:20 +10:00
Matt Joiner 8b6c26b912 Pull fix to panic in pion/ice
https://github.com/pion/ice/issues/182
2020-05-03 18:51:09 +10:00
Matt Joiner 54d55db108 webtorrent: Synchronize access to PeerConnection.Close 2020-05-03 18:45:12 +10:00
Matt Joiner 11e13ac8c1 cmd/torrent: Output stats on termination, not just completion 2020-05-03 18:42:37 +10:00
Matt Joiner 90bbdf9adb cmd/torrent: Add download -pex flag
For testing with https://github.com/anacrolix/torrent/issues/402.
2020-05-03 18:42:03 +10:00
Matt Joiner 11a373200f cmd/torrent: Only output progress lines when they change
This stops spamming output when seeding.
2020-05-03 18:41:33 +10:00
Matt Joiner 9edd98ad78 Close PeerConn.conn synchronously 2020-05-03 18:40:40 +10:00
Matt Joiner a7b665873c Propagate and log more connection read/write errors now that logging is a bit fancier 2020-05-03 18:40:09 +10:00
Matt Joiner dad5ab89a5 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.
2020-05-03 18:39:16 +10:00
Matt Joiner 39171df0c6 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.
2020-05-03 18:37:26 +10:00
Matt Joiner 658422e584 go get -u ./... && go mod tidy
Not including bazil.org/fuse though.
2020-05-03 14:10:46 +10:00
Matt Joiner ae9aaaaa20 Use anacrolix/log in storage completion 2020-05-03 14:10:46 +10:00
Matt Joiner f36fc10079 Fix crash when announcing unloaded torrent to websocket 2020-05-03 14:10:46 +10:00
Yaroslav Kolomiiets b4e10e00a9 add BEP references to documentation of the metadata fields 2020-05-03 14:06:24 +10:00
Matt Joiner 04ff050ecd Disable keepalives for http trackers
Should work around an issue with S3 trackers holding connections open for very long periods.
2020-04-28 09:15:06 +10:00
Matt Joiner 188aa800b2 Adjust websocket tracker logging levels 2020-04-28 09:14:24 +10:00
Matt Joiner 15fff58d7b Rework tracker status lines 2020-04-28 09:13:44 +10:00
Matt Joiner cad8802e9c Update all dependencies 2020-04-23 13:09:27 +10:00
Matt Joiner 3e9a5a4aec 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.
2020-04-23 13:03:40 +10:00
Matt Joiner 86d5ad4b2c 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.
2020-04-23 12:36:19 +10:00
Matt Joiner 12e377e3fe 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.
2020-04-23 12:34:43 +10:00