Commit graph

344 commits

Author SHA1 Message Date
Joakim Frostegård
cdc817cbdf Update TODO 2023-08-28 23:55:16 +02:00
Joakim Frostegård
67d3e785a5 Update TODO 2023-04-10 00:58:05 +02:00
Joakim Frostegård
a0255ff919 Upgrade socket2 to v0.5 2023-04-10 00:49:55 +02:00
Joakim Frostegård
630e5c0938 Update TODO 2023-03-09 23:02:07 +01:00
Joakim Frostegård
cff6b0cce1 Update TODO 2023-03-08 14:46:34 +01:00
Joakim Frostegård
2e67f11caf
udp: add experimental io_uring implementation (#131)
* WIP: add udp uring support

* WIP: fix udp uring address parsing

* WIP: udp uring: resubmit recv when needed

* WIP: udp uring: add OutMessageStorage, send swarm responses

* WIP: udp uring: increase ring entries to 1024

* WIP: udp uring: add constants

* WIP: udp uring: use sqpoll, avoid kernel calls

* WIP: udp uring: disable sqpoll

* WIP: udp uring: use VecDeque for local responses

* udp uring: enable setup_coop_taskrun

* udp uring: add RecvMsgStorage

* udp: improve split of uring and mio implementations

* udp uring: clean up

* udp uring: initial ipv6 support

* udp uring: improve helper structs

* udp uring: clean up, use constants for important data

* udp: share create_socket fn between implementations

* udp uring: improve send buffer free index finding

* udp uring: work on SendBuffers.try_add

* udp uring: split into modules

* udp uring: Rename RecvMsgMultiHelper to RecvHelper

* udp uring: improve SendBuffers

* udp uring: fix copyright attribution in buf_ring module

* udp uring: stop always consuming 100% cpu

* udp uring: clean up

* udp uring: add handle_recv_cqe

* udp uring: move local_responses into SocketWorker

* udp uring: move timeout_timespec into SocketWorker

* Update TODO

* udp: make io-uring optional

* Update TODO

* udp uring: enqueue timeout before sends

* udp uring: move likely empty buffer tracking logic into SendBuffers

* udp uring: improve error handling and logging

* udp uring: keep one timeout submitted at a time

* udp uring: update pending_scrape_valid_until

* udp uring: add second timeout for cleaning

* Update TODO

* udp uring: store resubmittable squeue entries in a Vec

* udp uring: add comment, remove a log statement

* Update TODO

* Update TODO

* udp: io_uring: fall back to mio if io_uring support not recent enough

* udp: uring: add bytes_received statistics

* udp: uring: add bytes_sent statistics

* udp: uring: add more statistics

* Update TODO

* udp: uring: improve SendBuffers code

* udp: uring: remove unneeded squeue sync calls

* udp: uring: replace buf_ring impl with one from tokio-uring

* udp: uring: store ring in TLS so it can be used in Drop impls

* udp: uring: store BufRing in SocketWorker

* udp: uring: silence buf_ring dead code warnings, improve comment

* Update TODO

* udp: uring: improve CurrentRing docs, use anonymous struct field

* udp: uring: improve ring setup

* udp: uring: get ipv6 working

* udp: uring: make ring entry count configurable, use more send entries

* udp: uring: log number of pending responses (info level)

* udp: uring: improve comment on send_buffer_entries calculation

* udp: improve config comments

* udp: uring: add to responses stats when they are confirmed as sent

* Update TODO

* udp: uring: enable IoUring setup_submit_all

* Update README
2023-03-07 19:01:37 +01:00
Joakim Frostegård
2abb76d690 Update TODO 2023-02-26 12:35:37 +01:00
Joakim Frostegård
beb8c52fe6 Update TODO 2023-02-25 22:32:34 +01:00
Joakim Frostegård
1372f46e87 Update TODO 2023-02-04 15:38:09 +01:00
Joakim Frostegård
d3e0e46b41 Update TODO 2023-01-03 18:45:22 +01:00
Joakim Frostegård
057b07eaf1 Update TODO 2022-12-21 00:06:38 +01:00
Joakim Frostegård
4342a3387e Update TODO 2022-11-12 16:33:25 +01:00
Joakim Frostegård
99cb28c7f7
Update TODO.md 2022-10-24 11:41:02 +02:00
Joakim Frostegård
2fb7a330bc
Update TODO.md 2022-10-23 21:25:09 +02:00
Joakim Frostegård
6d44280eb3 Update TODO 2022-09-25 12:37:43 +02:00
Joakim Frostegård
3e4bcf022e Update TODO 2022-09-20 21:50:04 +02:00
Joakim Frostegård
4ab6b0af82 Update TODO 2022-08-06 14:56:00 +02:00
Joakim Frostegård
a399629b69 Update TODO 2022-08-01 15:58:48 +02:00
Joakim Frostegård
355f3e04c6 Update ws code comments; update TODO.md 2022-07-19 17:01:07 +02:00
Joakim Frostegård
a62b2033a5 ws: avoid X-Forwarded-For parsing since we only need to know IPv4/IPv6 2022-07-19 16:12:00 +02:00
Joakim Frostegård
3b94b8e588 WIP: ws: parse X-FORWARDED-FOR headers 2022-07-19 00:56:27 +02:00
Joakim Frostegård
064d6fb14b Update TODO 2022-07-18 23:31:18 +02:00
Joakim Frostegård
a16ce91d46 ws: make TLS optional, allow HTTP health checks without TLS only 2022-07-18 23:23:36 +02:00
Joakim Frostegård
720ceacf99 ws: remove peer from all torrent maps when connection is closed 2022-07-05 13:13:53 +02:00
Joakim Frostegård
b06c12e9a5 Update TODO 2022-07-05 11:38:50 +02:00
Joakim Frostegård
cedf0b61ca Exit with error message on unrecognized config keys 2022-07-05 11:26:46 +02:00
Joakim Frostegård
a852b290ca Add cli flag for printing parsed config 2022-07-05 11:15:53 +02:00
Joakim Frostegård
a7837ebffb Update TODO 2022-07-04 12:01:53 +02:00
Joakim Frostegård
5cfd270ab7 udp: add optional resending buffer for responses that failed to send 2022-06-28 00:56:29 +02:00
Joakim Frostegård
783c8c4bd9 Update TODO 2022-06-27 22:32:05 +02:00
Joakim Frostegård
b438588f01 Update TODO 2022-06-23 01:47:44 +02:00
Joakim Frostegård
e69f489b1a Update TODO 2022-05-10 23:12:59 +02:00
Joakim Frostegård
201879c519 Update TODO 2022-04-15 23:59:18 +02:00
Joakim Frostegård
cad74df689 Update TODO 2022-04-14 23:06:54 +02:00
Joakim Frostegård
10cb0849d6 Update TODO 2022-04-14 17:51:15 +02:00
Joakim Frostegård
0685c99349 Update TODO 2022-04-13 22:31:02 +02:00
Joakim Frostegård
113fe8f5fd Update TODO 2022-04-06 19:55:12 +02:00
Joakim Frostegård
b4d1c46595 Update TODO 2022-04-06 02:23:06 +02:00
Joakim Frostegård
94ee4027e8 Update TODO 2022-04-06 01:53:00 +02:00
Joakim Frostegård
6f30d05453 Update TODO 2022-04-05 01:33:02 +02:00
Joakim Frostegård
9dfc3a82ad Update TODO 2022-04-04 12:49:29 +02:00
Joakim Frostegård
44b50204e2 Switch to thin LTO; add Cargo profile release-debug 2022-04-04 12:32:42 +02:00
Joakim Frostegård
9f8f80a17b http protocol: remove AnnounceRequest::compact, fail parsing if set to 0 2022-04-04 12:16:13 +02:00
Joakim Frostegård
71c070cf98 Update TODO 2022-04-04 12:07:34 +02:00
Joakim Frostegård
98e7e5cc13 http_protocol: implement axum IntoResponse, use in http_private 2022-04-03 20:20:51 +02:00
Joakim Frostegård
5e79df8e7e Update TODO 2022-04-03 19:52:33 +02:00
Joakim Frostegård
44f4474fb2 Update TODO 2022-04-03 00:56:54 +02:00
Joakim Frostegård
6e97bff93f Update TODO 2022-04-02 14:21:44 +02:00
Joakim Frostegård
4e79bd334a Update TODO 2022-03-31 12:29:35 +02:00
Joakim Frostegård
34857910b0 Update TODO 2022-03-24 16:33:34 +01:00