Commit graph

1658 commits

Author SHA1 Message Date
Joakim Frostegård
e237f76ca7 Remove scripts/run-aquatic-http-private.sh 2023-04-10 01:03:07 +02:00
Joakim Frostegård
67d3e785a5 Update TODO 2023-04-10 00:58:05 +02:00
Joakim Frostegård
67f765f003 Upgrade io-uring to v0.6 2023-04-10 00:53:56 +02:00
Joakim Frostegård
a0255ff919 Upgrade socket2 to v0.5 2023-04-10 00:49:55 +02:00
Joakim Frostegård
50647d0774 http_protocol: remove axum helpers 2023-04-10 00:36:18 +02:00
Joakim Frostegård
195815b2c4 Update duplicate to v1 2023-04-10 00:33:25 +02:00
Joakim Frostegård
5233fdd474 Update criterion to v0.4 2023-04-10 00:32:01 +02:00
Joakim Frostegård
4a6fbc6df0 Update async-tungstenite to v0.20 2023-04-10 00:29:58 +02:00
Joakim Frostegård
b609f77be9 Update rustls to 0.21, futures-rustls to 0.24 2023-04-10 00:27:37 +02:00
Joakim Frostegård
d3a2204305 Run cargo update
Updating anyhow v1.0.69 -> v1.0.70
    Updating arrayref v0.3.6 -> v0.3.7
    Updating async-trait v0.1.66 -> v0.1.68
    Updating blake3 v1.2.0 -> v1.3.3
    Removing constant_time_eq v0.1.5
    Updating cpufeatures v0.2.5 -> v0.2.6
    Updating crossbeam-channel v0.5.7 -> v0.5.8
    Removing digest v0.9.0
    Removing digest v0.10.5
      Adding digest v0.10.6
    Updating futures v0.3.27 -> v0.3.28
    Updating futures-channel v0.3.27 -> v0.3.28
    Updating futures-core v0.3.27 -> v0.3.28
    Updating futures-executor v0.3.27 -> v0.3.28
    Updating futures-io v0.3.27 -> v0.3.28
    Updating futures-lite v1.12.0 -> v1.13.0
    Updating futures-macro v0.3.27 -> v0.3.28
    Updating futures-sink v0.3.27 -> v0.3.28
    Updating futures-task v0.3.27 -> v0.3.28
    Updating futures-util v0.3.27 -> v0.3.28
    Updating generic-array v0.14.6 -> v0.14.7
    Updating getrandom v0.2.8 -> v0.2.9
    Updating indexmap v1.9.2 -> v1.9.3
    Updating ipnet v2.7.1 -> v2.7.2
    Updating libc v0.2.140 -> v0.2.141
    Updating libmimalloc-sys v0.1.30 -> v0.1.32
    Updating mimalloc v0.1.34 -> v0.1.36
    Updating mime v0.3.16 -> v0.3.17
    Updating parking v2.0.0 -> v2.1.0
    Updating proc-macro2 v1.0.52 -> v1.0.56
    Updating regex v1.7.1 -> v1.7.3
    Updating regex-syntax v0.6.28 -> v0.6.29
    Updating rustc-demangle v0.1.21 -> v0.1.22
    Updating serde v1.0.156 -> v1.0.159
    Updating serde_derive v1.0.156 -> v1.0.159
    Updating serde_json v1.0.94 -> v1.0.95
    Updating simple_logger v4.0.0 -> v4.1.0
    Updating spin v0.9.6 -> v0.9.8
      Adding subtle v2.4.1
      Adding syn v2.0.13
    Updating thiserror v1.0.39 -> v1.0.40
    Updating thiserror-impl v1.0.39 -> v1.0.40
    Updating tokio v1.26.0 -> v1.27.0
    Updating unicode-bidi v0.3.12 -> v0.3.13
2023-04-10 00:22:42 +02:00
Joakim Frostegård
c8a08cb124 Remove aquatic_http_private 2023-04-10 00:20:44 +02:00
Joakim Frostegård
2a7551d634
Merge pull request #136 from greatest-ape/work-2023-03-17
Release version 0.8.0
2023-03-17 18:58:32 +01:00
Joakim Frostegård
48ccec034e Bump version to 0.8.0, update CHANGELOG accordingly 2023-03-17 18:51:41 +01:00
Joakim Frostegård
66df720029 Run cargo update
Updating unicode-bidi v0.3.11 -> v0.3.12
    Updating walkdir v2.3.2 -> v2.3.3
2023-03-17 18:27:31 +01:00
Joakim Frostegård
38383039db
Merge pull request #135 from greatest-ape/work-2023-03-15
reduce udp uring buffer sizes; upgrade glommio to v0.8; update dependencies
2023-03-16 00:13:34 +01:00
Joakim Frostegård
3f0026e4db README: update "features at a glance" section 2023-03-16 00:05:06 +01:00
Joakim Frostegård
608957a54b Improve rustls config creation error messages 2023-03-15 23:57:27 +01:00
Joakim Frostegård
45e28cc39a Update glommio to v0.8
This enables removing membarrier fix
2023-03-15 23:50:36 +01:00
Joakim Frostegård
6312a4d88a Run cargo update
Updating constant_time_eq v0.2.4 -> v0.2.5
    Updating futures v0.3.26 -> v0.3.27
    Updating futures-channel v0.3.26 -> v0.3.27
    Updating futures-core v0.3.26 -> v0.3.27
    Updating futures-executor v0.3.26 -> v0.3.27
    Updating futures-io v0.3.26 -> v0.3.27
    Updating futures-macro v0.3.26 -> v0.3.27
    Updating futures-sink v0.3.26 -> v0.3.27
    Updating futures-task v0.3.26 -> v0.3.27
    Updating futures-util v0.3.26 -> v0.3.27
    Updating hyper v0.14.24 -> v0.14.25
    Updating proc-macro2 v1.0.51 -> v1.0.52
    Updating quote v1.0.23 -> v1.0.26
    Updating serde v1.0.154 -> v1.0.156
    Updating serde_derive v1.0.154 -> v1.0.156
    Updating spin v0.9.5 -> v0.9.6
    Updating windows-targets v0.42.1 -> v0.42.2
    Updating windows_aarch64_gnullvm v0.42.1 -> v0.42.2
    Updating windows_aarch64_msvc v0.42.1 -> v0.42.2
    Updating windows_i686_gnu v0.42.1 -> v0.42.2
    Updating windows_i686_msvc v0.42.1 -> v0.42.2
    Updating windows_x86_64_gnu v0.42.1 -> v0.42.2
    Updating windows_x86_64_gnullvm v0.42.1 -> v0.42.2
    Updating windows_x86_64_msvc v0.42.1 -> v0.42.2
2023-03-15 23:35:48 +01:00
Joakim Frostegård
fcdcccdc78 Update CHANGELOG 2023-03-15 23:34:26 +01:00
Joakim Frostegård
cf08e96a7e udp: uring: store pending_scrape_valid_until in SocketWorker 2023-03-15 23:32:13 +01:00
Joakim Frostegård
d6f8adcb53 udp: uring: reduce buffer sizes 2023-03-15 23:29:59 +01:00
Joakim Frostegård
c290062feb
Merge pull request #134 from greatest-ape/work-2023-03-08_2
udp: uring: refactor, fix UB
2023-03-10 00:40:01 +01:00
Joakim Frostegård
d61bc34521 udp: uring: minor refactoring 2023-03-10 00:29:22 +01:00
Joakim Frostegård
612cc4cf62 udp: uring: refactor SocketWorker, fix Timespec UB 2023-03-10 00:17:39 +01:00
Joakim Frostegård
a0c0e85122
Merge pull request #133 from greatest-ape/work-2023-03-09
udp: improve docs, uring code and uring performance; update README; update dependencies
2023-03-09 23:34:33 +01:00
Joakim Frostegård
5633a889a2 Improve README 2023-03-09 23:24:46 +01:00
Joakim Frostegård
5c3c2b42ac Run cargo update
Updating async-trait v0.1.64 -> v0.1.66
    Updating base64ct v1.5.3 -> v1.6.0
    Updating blake3 v1.3.3 -> v1.2.0
    Updating block-buffer v0.10.3 -> v0.10.4
    Updating buddy-alloc v0.4.1 -> v0.4.2
      Adding constant_time_eq v0.1.5
    Updating crossbeam-channel v0.5.6 -> v0.5.7
    Updating crossbeam-deque v0.8.2 -> v0.8.3
    Updating crossbeam-epoch v0.9.13 -> v0.9.14
    Updating crossbeam-utils v0.8.14 -> v0.8.15
    Updating csv v1.2.0 -> v1.2.1
    Removing digest v0.10.6
      Adding digest v0.9.0
      Adding digest v0.10.5
    Updating itoa v1.0.5 -> v1.0.6
    Updating libc v0.2.139 -> v0.2.140
    Updating paste v1.0.11 -> v1.0.12
    Updating raw-cpuid v10.6.1 -> v10.7.0
    Updating rayon v1.6.1 -> v1.7.0
    Updating rayon-core v1.10.2 -> v1.11.0
    Updating rustversion v1.0.11 -> v1.0.12
    Updating ryu v1.0.12 -> v1.0.13
    Updating serde v1.0.152 -> v1.0.154
    Updating serde_derive v1.0.152 -> v1.0.154
    Updating serde_json v1.0.93 -> v1.0.94
    Updating socket2 v0.4.7 -> v0.4.9
    Updating subtle v2.4.1 -> v2.5.0
    Updating thiserror v1.0.38 -> v1.0.39
    Updating thiserror-impl v1.0.38 -> v1.0.39
    Updating tokio v1.25.0 -> v1.26.0
    Updating unicode-bidi v0.3.10 -> v0.3.11
    Updating unicode-ident v1.0.6 -> v1.0.8
2023-03-09 23:09:48 +01:00
Joakim Frostegård
4b7e9c5609 Update README 2023-03-09 23:07:50 +01:00
Joakim Frostegård
630e5c0938 Update TODO 2023-03-09 23:02:07 +01:00
Joakim Frostegård
3cf6e30159 udp: uring: rename SendBuffers.mark_index_as_free 2023-03-09 23:00:10 +01:00
Joakim Frostegård
442ae5154e udp: improve config docs 2023-03-09 22:57:22 +01:00
Joakim Frostegård
987c880e01 udp: improve config comments for resend_buffer_max_len 2023-03-09 22:16:57 +01:00
Joakim Frostegård
63c705fd17 udp: config: rename ring_entries to ring_size 2023-03-09 22:15:57 +01:00
Joakim Frostegård
0f333d4755 udp: uring: set send_buffer_entries to ring_entries, improve comments 2023-03-09 22:15:19 +01:00
Joakim Frostegård
587dd07131 udp: uring: decrease request buffer sizes 2023-03-09 21:57:37 +01:00
Joakim Frostegård
fe294e8119 udp: uring: wait for num_send_added.max(1), improve comments 2023-03-09 21:53:48 +01:00
Joakim Frostegård
f89bdce7f0 udp: uring: change SendBuffer unsafe declarations, add comments 2023-03-09 21:30:03 +01:00
Joakim Frostegård
f84d80a7e7
Merge pull request #132 from greatest-ape/work-2023-03-08
udp: uring: use UnsafeCell, code improvements
2023-03-08 20:04:41 +01:00
Joakim Frostegård
cff6b0cce1 Update TODO 2023-03-08 14:46:34 +01:00
Joakim Frostegård
aae19c4cb3 udp: uring: combine SendBuffers metadata lookups 2023-03-08 14:40:29 +01:00
Joakim Frostegård
1be6d4fa61 udp: uring: improve log messages 2023-03-08 14:31:45 +01:00
Joakim Frostegård
d862da2aef udp: uring: add recv_helper::Error type 2023-03-08 14:14:15 +01:00
Joakim Frostegård
9bb69627c8 udp: uring: branch less in RecvHelper::parse 2023-03-08 13:54:49 +01:00
Joakim Frostegård
aa2c36a373 udp: uring: rewrite RecvHelper to use UnsafeCell 2023-03-08 13:43:11 +01:00
Joakim Frostegård
fa93f38d82 udp: uring: improve SendBuffers code 2023-03-08 13:33:14 +01:00
Joakim Frostegård
339feb3d0a udp: uring: rewrite SendBuffers to use UnsafeCell 2023-03-08 13:14:35 +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
6f4ffda1bb
Merge pull request #129 from greatest-ape/work-2023-02-26_2
Update README and CHANGELOG
2023-02-26 17:13:25 +01:00
Joakim Frostegård
73def7444d Update README 2023-02-26 17:07:10 +01:00