Commit graph

141 commits

Author SHA1 Message Date
Joakim Frostegård
c9ae2e6830 README: mention that udp io_uring implementation might be unsound 2023-08-28 23:58:12 +02:00
Joakim Frostegård
8df4ca83f4 Update README 2023-05-01 19:19:16 +02:00
Joakim Frostegård
3f0026e4db README: update "features at a glance" section 2023-03-16 00:05:06 +01:00
Joakim Frostegård
5633a889a2 Improve README 2023-03-09 23:24:46 +01:00
Joakim Frostegård
4b7e9c5609 Update README 2023-03-09 23:07:50 +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
73def7444d Update README 2023-02-26 17:07:10 +01:00
Joakim Frostegård
9bd4062e44 README: improve wording 2023-02-26 12:39:41 +01:00
Joakim Frostegård
be0ccb2de2 Update README 2023-02-26 12:36:12 +01:00
Joakim Frostegård
9d10a7b7b3 README: update prometheus section 2023-02-26 12:15:15 +01:00
Joakim Frostegård
07eac06a36 Enable prometheus by default, update README 2023-02-26 12:10:12 +01:00
Joakim Frostegård
084067ee74 Update README 2023-02-25 22:21:56 +01:00
Joakim Frostegård
cc503f837b README: update worker number recommendations 2023-02-19 18:12:58 +01:00
Joakim Frostegård
734976895c Update ws load test 2023-01-26 21:12:21 +01:00
Joakim Frostegård
000948f47c Update HTTP load test results 2023-01-25 22:16:09 +01:00
Joakim Frostegård
67ab93b5f0 README: move and update prometheus section 2023-01-18 22:07:40 +01:00
Joakim Frostegård
9dd45fd74c README: document ws prometheus support 2023-01-17 21:57:21 +01:00
Joakim Frostegård
06680287ef README: fix udp worker proportion typos 2023-01-11 22:38:47 +01:00
Joakim Frostegård
a3c63b9af9 README: update udp worker proportion recommendations 2023-01-11 21:21:52 +01:00
Joakim Frostegård
4b9771de5d Add new udp load test 2023-01-11 21:21:38 +01:00
Joakim Frostegård
fde09cf727 Update README 2023-01-10 15:21:06 +01:00
Joakim Frostegård
6854351fb5 Move GitHub workflows into single file, split build-and-test 2022-10-09 22:36:54 +02:00
Joakim Frostegård
22c85f2d9f Update README 2022-08-01 15:05:06 +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
a16ce91d46 ws: make TLS optional, allow HTTP health checks without TLS only 2022-07-18 23:23:36 +02:00
Joakim Frostegård
91573f47b5 README: link to explodie tracker stats, change requests/s number 2022-07-05 13:27:11 +02:00
Joakim Frostegård
7fb68ef52d README and architecture svg: rename request worker to swarm worker 2022-07-04 12:00:45 +02:00
Joakim Frostegård
a1f11891f8 Add aquatic_http performance load test documents, show in README 2022-04-12 17:40:21 +02:00
Joakim Frostegård
285296865c
Improve README 2022-04-12 17:32:18 +02:00
Joakim Frostegård
d8a2e7fa87
README: link to explodie.org 2022-04-11 14:37:49 +02:00
Joakim Frostegård
bf456b002b README: mention announce URL structure in usage section 2022-04-07 22:53:29 +02:00
Joakim Frostegård
adc2d1d900 Add new WebTorrent load test, show results in README 2022-03-31 12:19:34 +02:00
Joakim Frostegård
5057ba73bd
README: add aquatic_ws worker proportion guidelines 2022-03-30 17:07:26 +02:00
Joakim Frostegård
2fdb45ed2c
README: update info on locked memory limits 2022-03-30 02:06:23 +02:00
Joakim Frostegård
cf6a11f3ca
README: improve worker number table 2022-03-27 15:42:50 +02:00
Joakim Frostegård
488eb4c692
README: write about configuring worker counts 2022-03-27 12:17:50 +02:00
Joakim Frostegård
3839fd7d4f README: improve wording 2022-03-26 23:08:13 +01:00
Joakim Frostegård
05bbfbc879 README: mention CI testing of full file transfers 2022-03-26 23:03:27 +01:00
Joakim Frostegård
56b08f09e6 README: rewrite usage section 2022-03-26 22:41:45 +01:00
Joakim Frostegård
b0f17633d5 README: move down architectural overview, other fixes 2022-03-26 22:27:41 +01:00
Joakim Frostegård
a9635bb713 README: improve "features at a glance" 2022-03-26 22:23:06 +01:00
Joakim Frostegård
205d5a9ee9
README: add short features section, improve wording (#59) 2022-03-26 19:37:25 +01:00
Joakim Frostegård
7180318abb access list: rename white to allow, black to deny 2022-03-26 11:18:19 +01:00
Joakim Frostegård
b16647c8dd README: move memlock stuff down to Running header 2022-03-20 20:47:39 +01:00
Joakim Frostegård
b4c07e5005 README: update to account for removal of mio version of aquatic_ws 2022-03-18 15:18:13 +01:00
Joakim Frostegård
e9ced08547 README: fix typos 2022-02-20 01:58:00 +01:00
Joakim Frostegård
903010dbe1 udp: use action 1 for IPv6 announce responses; refactor protocol code
According to BEP015, action 1 is to be used.
2022-02-20 01:35:24 +01:00
Joakim Frostegård
f7e0f61119
Add architectural overview svg to README (#48) 2022-02-02 16:46:09 +01:00
Joakim Frostegård
4efe6dbb31 README: mention specific BEPs, other minor improvements 2022-02-02 15:49:55 +01:00
Joakim Frostegård
9209a3ee01
README: improve title 2022-01-31 20:08:17 +01:00