2
0
mirror of synced 2025-02-24 22:58:28 +00:00

807 Commits

Author SHA1 Message Date
Matt Joiner
99f3e9ad3d Reject accepted connections if we don't want conns
This prevents unnecessarily stalling peers dialling us if we have no intention to ever accept.
2021-06-23 12:41:25 +10:00
Matt Joiner
88d144e65e Minor tidying 2021-06-21 13:00:20 +10:00
Matt Joiner
765edfa7cb Expose DialFirst 2021-06-21 12:54:57 +10:00
Matt Joiner
15f8e77519 Add explicit metadata extension types 2021-06-21 12:14:06 +10:00
Matt Joiner
a01b451857 Add ClientConfig.AcceptPeerConnections 2021-06-21 12:14:01 +10:00
Matt Joiner
af1ca91e04 Remove conntrack, expose Torrent.AnnounceToDht, ClientConfig.PeriodicallyAnnounceTorrentsToDht 2021-06-21 12:13:53 +10:00
Matt Joiner
7d9e2b18d6 Extract chansync to github.com/anacrolix/chansync 2021-06-07 13:01:40 +10:00
Matt Joiner
36f52d7a14 Apply next request state asynchronously 2021-06-07 13:01:40 +10:00
Matt Joiner
d37dea1f61 Move peerConnMsgWriter into its own file 2021-06-07 13:01:40 +10:00
Matt Joiner
24ceed61da Break out peerConnWriter 2021-06-07 13:01:40 +10:00
Matt Joiner
95d808d3c5 Use rejiggered missinggo bitmap 2021-06-07 13:01:39 +10:00
Matt Joiner
86524214f5 Merge maxRequests into localClientReqq 2021-06-07 13:01:39 +10:00
Matt Joiner
0d4e566fc0 Extract request strategy stuff into a separate module 2021-06-07 13:01:39 +10:00
Matt Joiner
875ead3582 Reuse pieceRequestOrder slice 2021-06-07 13:01:39 +10:00
Matt Joiner
2d2456249a Remove unused pieceRequestOrder in Client 2021-06-07 13:01:39 +10:00
Matt Joiner
9c9ba1aeac PeerConn.post becomes PeerConn.write 2021-06-07 13:01:39 +10:00
Matt Joiner
56e2a8a3a6 Fix download rate, status output 2021-06-07 13:01:39 +10:00
Matt Joiner
0830589b0a Pass tests with new full-client request strategy implementation 2021-06-07 13:01:39 +10:00
Matt Joiner
56e5d08eff Log failure to complete metadata 2021-06-07 12:57:42 +10:00
Matt Joiner
47284cf426 Rename Torrent.{add,delete}Connection 2021-05-14 15:39:01 +10:00
Matt Joiner
305ba51dc2 Big logging cleanup to improve experience from README 2021-05-04 12:44:51 +10:00
Matt Joiner
cff461c898 Add ClientConfig.ConfigureAnacrolixDhtServer 2021-02-20 22:16:54 +11:00
Matt Joiner
456a2f7c5d Expose more callbacks and Request and ChunkSpec 2021-01-28 14:23:22 +11:00
Matt Joiner
b5215ea7e8 Expose Peer.Network to replace Peer.RemoteAddr.Network 2021-01-25 15:49:48 +11:00
Matt Joiner
9f9953be52 Don't expose Peer network through RemoteAddr 2021-01-25 15:49:48 +11:00
Matt Joiner
27108bd2f7 Export Peer 2021-01-25 15:49:48 +11:00
Matt Joiner
b2fd53f4ce Generalize internal/string-limiter Key type 2020-12-21 09:39:02 +11:00
Matt Joiner
ddd03362f8 Factor out internal/string_limiter 2020-12-17 12:22:02 +11:00
Matt Joiner
d713aaf280 Rework active announce limiter to reduce contention 2020-12-15 15:29:45 +11:00
Matt Joiner
0d40c4bac2 Read peer request data without Client lock 2020-11-16 16:37:11 +11:00
Matt Joiner
b020b8c2b6 Add support for the x.pe magnet link parameter 2020-11-16 16:37:11 +11:00
Matt Joiner
e6da640bb2 Tidy up doc, file names, naming 2020-11-09 10:56:45 +11:00
Matt Joiner
131037dd9f Add the ReceiveEncryptedHandshakeSkeys callback 2020-11-05 13:28:45 +11:00
Matt Joiner
8088002ba6 Fix error handling for bad torrent adds with safe file handling 2020-10-15 16:03:43 +11:00
Matt Joiner
4a4cb5dc58 Ensure PeerConn._close is called for incoming connections
This fixes missing calls to PeerConnClosed callback.
2020-10-14 15:11:45 +11:00
Matt Joiner
6ed1062176 Fix some log levels 2020-10-12 17:12:34 +11:00
Matt Joiner
a9102abf1d Tidy up some logging 2020-10-10 10:24:58 +11:00
Matt Joiner
3d7ac87e3b Expose Client.ConnStats 2020-10-01 11:20:44 +10:00
Matt Joiner
a3827099c4 Limit simultaneous announces to the same URL 2020-10-01 10:43:10 +10:00
Matt Joiner
a2c7b384df Limit half-open connections at the Client level 2020-09-30 16:56:27 +10:00
Matt Joiner
1cdae13700 Fix conn status string for WebRTC connections 2020-09-29 16:21:54 +10:00
Matt Joiner
9d0ea15044 Expose peer.RemoteAddr 2020-07-15 16:16:14 +10:00
Matt Joiner
7ee0fdafe3 Add some client callbacks 2020-07-15 16:16:14 +10:00
Matt Joiner
e81d8890dd Don't filter context cancel errors
The caller thinks this means it succeeded, when it fact it was cancelled and it should interpret that appropriately.
2020-06-19 11:41:26 +10:00
Matt Joiner
62e7f29a0c Fix panic in webseed request rejection logging
Also use a new helper in Logger to simplify things.
2020-06-04 11:51:17 +10:00
Maxb
a7689f52bd Add DisallowDataDownload/Upload to TorrentSpec and small log cleanup 2020-06-04 10:36:56 +10:00
Matt Joiner
8a2ff43246 Tidy up the interface changes 2020-06-02 17:41:59 +10:00
Matt Joiner
997384a394 Make use of magnet source fields and expose Torrent.MergeSpec 2020-06-02 15:06:05 +10:00
Matt Joiner
026c737886 Add webseeds from magnet links 2020-06-02 13:53:25 +10:00
Matt Joiner
ff53ab860c Further progress on webseeding 2020-06-01 18:25:45 +10:00