Joakim Frostegård
ad7e464788
aquatic_http: split into mio and glommio modules
2021-10-26 15:26:06 +02:00
Joakim Frostegård
d0e716f80b
Run rustfmt, clean up aquatic_http_protocol/Cargo.toml
2021-08-15 22:26:11 +02:00
Joakim Frostegård
6ee8ed4895
aquatic_common: extract response peers: don't return sender
...
Seems to fix or at least help with some issues with
real clients being slow to initiate transfers
2020-08-16 23:07:39 +02:00
Joakim Frostegård
cce7bd7150
aquatic_http: send responses for each event, use mio poll waker
...
This means
* less fluctuation in number of responses send per second
* longer poll timeouts can be used since poll is woken when
responses are available for sending
* drain-like method used to fetch responses from response
channel, meaning responses added while iterating won't
be processed
2020-08-10 02:53:15 +02:00
Joakim Frostegård
a3a1d1606b
WIP: udp: add ipv6 support
...
Returning IPv6 peers doesn't really work with UDP. It is not supported by
https://libtorrent.org/udp_tracker_protocol.html . There is a suggestion in
https://web.archive.org/web/20170503181830/http://opentracker.blog.h3q.com/2007/12/28/the-ipv6-situation/
of using action number 4 and returning IPv6 octets just like for IPv4
addresses. Clients seem not to support it very well, but due to a lack of
alternative solutions, it is implemented here
2020-07-31 05:37:58 +02:00
Joakim Frostegård
228511b3aa
aquatic_http: replace flume with crossbeam; clean connections less often
2020-07-24 20:36:46 +02:00
Joakim Frostegård
4ac2012a2a
aquatic_http: move protocol module to new crate aquatic_http_protocol
2020-07-19 21:59:31 +02:00
Joakim Frostegård
84facea0ca
aquatic_http: add hand-written ScrapeResponse serialization
2020-07-18 17:46:16 +02:00
Joakim Frostegård
8ddccb20aa
aquatic_http: use new trait Ip for ip generic parameters
2020-07-08 14:22:30 +02:00
Joakim Frostegård
2386dd0e8b
aquatic_http: parameterise many data structures over peer IP protocol
2020-07-08 14:13:10 +02:00
Joakim Frostegård
43a33d80c4
aquatic_http: add ipv6 compact responses; fix ipv4/ipv6 issue
2020-07-08 12:26:41 +02:00
Joakim Frostegård
b65297195a
aquatic_http, aquatic_common_tcp: fix some clippy warnings
2020-07-05 20:22:03 +02:00
Joakim Frostegård
ccafdc5cd3
aquatic_http: clean up clode
2020-07-04 13:51:43 +02:00
Joakim Frostegård
c50dec3496
aquatic_http: add PeerMapKey with PeerID and Either<Ip, announce key>
2020-07-04 12:00:36 +02:00
Joakim Frostegård
2f2da8deb0
aquatic_http: AnnounceRequest: make numwant optional, remove trackerid
2020-07-04 11:20:58 +02:00
Joakim Frostegård
6b7ce0e211
aquatic_http: error response on invalid request; rename response types
2020-07-04 11:08:48 +02:00
Joakim Frostegård
7419c51434
aquatic_http protocol: refactor into more submodules, other fixes
2020-07-03 17:25:31 +02:00
Joakim Frostegård
404e528616
WIP: start work on http tracker
2020-07-01 18:56:19 +02:00