Skip to content

Commit a04032f

Browse files
authored
Refactor neon and neon-uring drivers (#696)
1 parent f213b3a commit a04032f

File tree

20 files changed

+507
-334
lines changed

20 files changed

+507
-334
lines changed

.github/workflows/cov.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,11 @@ jobs:
99
CARGO_TERM_COLOR: always
1010
steps:
1111
- uses: actions/checkout@v4
12+
- uses: taiki-e/install-action@nextest
13+
1214
- name: Install Rust
1315
run: rustup update nightly
16+
1417
- name: Install cargo-llvm-cov
1518
uses: taiki-e/install-action@cargo-llvm-cov
1619

@@ -26,16 +29,16 @@ jobs:
2629
run: cargo llvm-cov clean --workspace
2730

2831
- name: Code coverage (neon)
29-
run: cargo llvm-cov --no-report --all --no-default-features --features="ntex/neon,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"
32+
run: cargo llvm-cov nextest --retries=3 --no-report --all --no-default-features --features="ntex/neon,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"
3033

3134
- name: Code coverage (neon-uring)
32-
run: cargo llvm-cov --no-report --all --no-default-features --features="ntex/neon-uring,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"
35+
run: cargo llvm-cov nextest --retries=3 --no-report --all --no-default-features --features="ntex/neon-uring,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"
3336

3437
- name: Code coverage (tokio)
35-
run: cargo llvm-cov --no-report --all --no-default-features --features="ntex/tokio,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"
38+
run: cargo llvm-cov nextest --retries=3 --no-report --all --no-default-features --features="ntex/tokio,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"
3639

3740
- name: Code coverage (compio)
38-
run: cargo llvm-cov --no-report --all --no-default-features --features="ntex/compio,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"
41+
run: cargo llvm-cov nextest --retries=3 --no-report --all --no-default-features --features="ntex/compio,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"
3942

4043
- name: Generate coverage report
4144
run: cargo llvm-cov report --lcov --output-path lcov.info --ignore-filename-regex="ntex-compio|ntex-tokio"

.github/workflows/linux.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ jobs:
1717

1818
steps:
1919
- uses: actions/checkout@v4
20+
- uses: taiki-e/install-action@nextest
2021

2122
- name: Install ${{ matrix.version }}
2223
uses: actions-rust-lang/setup-rust-toolchain@v1
@@ -34,20 +35,20 @@ jobs:
3435
- name: Run tests (neon)
3536
timeout-minutes: 15
3637
run: |
37-
cargo test --all --no-default-features --features="ntex/neon,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"
38+
cargo nextest run --retries=3 --all --no-default-features --features="ntex/neon,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"
3839
3940
- name: Run tests (neon-uring)
4041
timeout-minutes: 15
4142
run: |
42-
cargo test --all --no-default-features --features="ntex/neon-uring,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"
43+
cargo nextest run --retries=3 --all --no-default-features --features="ntex/neon-uring,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"
4344
4445
- name: Run tests (tokio)
4546
timeout-minutes: 15
4647
run: |
47-
cargo test --all --no-default-features --features="ntex/tokio,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"
48+
cargo nextest run --retries=3 --all --no-default-features --features="ntex/tokio,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"
4849
4950
- name: Run tests (compio)
5051
timeout-minutes: 15
5152
if: matrix.version != '1.85.0'
5253
run: |
53-
cargo test --all --no-default-features --features="ntex/compio,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"
54+
cargo nextest run --retries=3 --all --no-default-features --features="ntex/compio,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"

.github/workflows/osx.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ jobs:
1616

1717
steps:
1818
- uses: actions/checkout@v4
19+
- uses: taiki-e/install-action@nextest
1920

2021
- name: Install ${{ matrix.version }}
2122
uses: actions-rust-lang/setup-rust-toolchain@v1
@@ -31,8 +32,15 @@ jobs:
3132
uses: Swatinem/rust-cache@v1.0.1
3233

3334
- name: Run tests (neon)
34-
timeout-minutes: 40
35-
run: cargo test --all --no-default-features --no-fail-fast --features="ntex/neon,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"
35+
timeout-minutes: 15
36+
run: cargo nextest run --retries=3 --all --no-default-features --no-fail-fast --features="ntex/neon,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"
3637

3738
- name: Run tests (tokio)
38-
run: cargo test --all --no-default-features --no-fail-fast --features="ntex/tokio,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"
39+
timeout-minutes: 15
40+
run: cargo nextest run --retries=3 --all --no-default-features --no-fail-fast --features="ntex/tokio,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"
41+
42+
- name: Run tests (compio)
43+
timeout-minutes: 15
44+
if: matrix.version != '1.85.0'
45+
run: |
46+
cargo nextest run --retries=3 --all --no-default-features --features="ntex/compio,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws"

.github/workflows/windows.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ jobs:
1919

2020
steps:
2121
- uses: actions/checkout@v4
22+
- uses: taiki-e/install-action@nextest
2223

2324
- name: Install ${{ matrix.version }}
2425
uses: actions-rust-lang/setup-rust-toolchain@v1
@@ -75,8 +76,8 @@ jobs:
7576
7677
- name: Run tests (tokio)
7778
run: |
78-
cargo test --all --no-default-features --no-fail-fast --features="ntex/tokio,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws" -- --skip test_timer
79+
cargo nextest run --retries=3 --all --no-default-features --no-fail-fast --features="ntex/tokio,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws" -- --skip test_timer
7980
8081
- name: Run tests (compio)
8182
run: |
82-
cargo test --all --no-default-features --no-fail-fast --features="ntex/compio,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws" -- --skip test_timer
83+
cargo nextest run --retries=3 --all --no-default-features --no-fail-fast --features="ntex/compio,ntex/cookie,ntex/url,ntex/compress,ntex/openssl,ntex/rustls,ntex/ws" -- --skip test_timer

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ serde_json = "1"
9090
serde_urlencoded = "0.7"
9191
sha1 = "0.10"
9292
slab = "0.4.9"
93-
socket2 = "0.5.6"
93+
socket2 = "0.6.1"
9494
variadics_please = "1.1"
9595
windows-sys = "0.52.0"
9696
time = "0.3"

ntex-net/CHANGES.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changes
22

3+
## [3.3.1] - 2025-12-16
4+
5+
* Refactor neon and neon-uring drivers
6+
37
## [3.3.0] - 2025-12-15
48

59
* Drop all sockets on driver drop for neon driver

ntex-net/Cargo.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ntex-net"
3-
version = "3.3.0"
3+
version = "3.3.1"
44
authors = ["ntex contributors <team@ntex.rs>"]
55
description = "ntexwork utils for ntex framework"
66
keywords = ["network", "framework", "async", "futures"]
@@ -32,16 +32,16 @@ io-uring = ["ntex-neon/io-uring", "socket2"]
3232
io-uring-compat = []
3333

3434
[dependencies]
35-
ntex-service = "3.7"
35+
ntex-service = "3.8"
3636
ntex-bytes = "1"
3737
ntex-http = "1"
3838
ntex-io = "3"
3939
ntex-rt = "3.3"
4040
ntex-util = "3"
4141

4242
ntex-tokio = { version = "3.0.0", optional = true }
43-
ntex-compio = { version = "3.2.1", optional = true }
44-
ntex-neon = { version = "0.2.1", optional = true }
43+
ntex-compio = { version = "3.3.0", optional = true }
44+
ntex-neon = { version = "0.2.2", optional = true }
4545

4646
bitflags = { workspace = true }
4747
cfg-if = { workspace = true }
@@ -52,5 +52,5 @@ socket2 = { workspace = true, optional = true, features = ["all"] }
5252
thiserror = { workspace = true }
5353

5454
[dev-dependencies]
55-
ntex = "3.0.0-pre.6"
55+
ntex = "3.0.0-pre.7"
5656
oneshot = "0.1"

ntex-net/src/rt_polling/connect.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,9 @@ impl ConnectOps {
5858
addr: SockAddr,
5959
sender: Sender<io::Result<Socket>>,
6060
) -> io::Result<usize> {
61-
let result =
62-
syscall!(break libc::connect(sock.as_raw_fd(), addr.as_ptr(), addr.len()))?;
61+
let result = syscall!(
62+
break libc::connect(sock.as_raw_fd(), addr.as_ptr().cast(), addr.len())
63+
)?;
6364
let fd = sock.as_raw_fd();
6465
let item = Item { sock, sender };
6566
let id = self.0.connects.borrow_mut().insert(item);
@@ -129,6 +130,8 @@ impl Handler for ConnectOpsBatcher {
129130
}
130131
}
131132

133+
fn tick(&mut self) {}
134+
132135
fn cleanup(&mut self) {
133136
self.inner.connects.borrow_mut().clear();
134137
}

0 commit comments

Comments
 (0)