Skip to content

Commit 45d6ea1

Browse files
authored
Update ntex version (#6992)
1 parent 3ac3610 commit 45d6ea1

File tree

4 files changed

+41
-56
lines changed

4 files changed

+41
-56
lines changed

frameworks/Rust/ntex/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ name = "ntex-raw"
1616
path = "src/main_raw.rs"
1717

1818
[dependencies]
19-
ntex = "=0.5.0-b.0"
19+
ntex = "=0.5.0-b.1"
2020
mimalloc = { version = "0.1.25", default-features = false }
2121
snmalloc-rs = { version = "0.2.26", features = ["1mib", "native-cpu"] }
2222
yarte = { version = "0.15", features = ["bytes-buf", "json"] }

frameworks/Rust/ntex/src/main.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ async fn main() -> std::io::Result<()> {
4141
// start http server
4242
ntex::server::build()
4343
.backlog(1024)
44-
.bind("techempower", "0.0.0.0:8080", || {
44+
.bind("techempower", "0.0.0.0:8080", |cfg| {
45+
cfg.memory_pool(PoolId::P1);
4546
PoolId::P1.set_read_params(65535, 1024);
4647
PoolId::P1.set_write_params(65535, 1024);
4748

@@ -53,7 +54,6 @@ async fn main() -> std::io::Result<()> {
5354
.service(plaintext)
5455
.with_config(web::dev::AppConfig::default()))
5556
})?
56-
.memory_pool("techempower", PoolId::P1)
57-
.start()
57+
.run()
5858
.await
5959
}

frameworks/Rust/ntex/src/main_db.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@ async fn main() -> std::io::Result<()> {
100100

101101
ntex::server::build()
102102
.backlog(1024)
103-
.bind("techempower", "0.0.0.0:8080", || {
103+
.bind("techempower", "0.0.0.0:8080", |cfg| {
104+
cfg.memory_pool(PoolId::P1);
104105
PoolId::P1.set_read_params(65535, 1024);
105106
PoolId::P1.set_write_params(65535, 1024);
106107

@@ -109,7 +110,6 @@ async fn main() -> std::io::Result<()> {
109110
.client_timeout(Seconds(0))
110111
.h1(AppFactory)
111112
})?
112-
.memory_pool("techempower", PoolId::P1)
113-
.start()
113+
.run()
114114
.await
115115
}

frameworks/Rust/ntex/src/main_raw.rs

+34-49
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
#[global_allocator]
22
static GLOBAL: snmalloc_rs::SnMalloc = snmalloc_rs::SnMalloc;
3-
43
use std::{future::Future, io, pin::Pin, task::Context, task::Poll};
54

6-
use ntex::{fn_service, http::h1, io::Io, util::BufMut, util::PoolId};
7-
5+
use ntex::{fn_service, http::h1, io::Io, util::ready, util::BufMut, util::PoolId};
86
mod utils;
97

108
#[cfg(target_os = "macos")]
@@ -33,54 +31,41 @@ impl Future for App {
3331

3432
fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
3533
let this = self.as_mut().get_mut();
36-
if this.io.is_closed() {
37-
return Poll::Ready(Ok(()));
38-
}
39-
40-
let read = this.io.read();
41-
let write = this.io.write();
4234
loop {
43-
match read.decode(&this.codec) {
44-
Ok(Some((req, _))) => {
45-
let _ = write.with_buf(|buf| {
46-
// make sure we've got room
47-
let remaining = buf.remaining_mut();
48-
if remaining < 1024 {
49-
buf.reserve(65535 - remaining);
50-
}
35+
if let Some(Ok((req, _))) = ready!(this.io.poll_read_next(&this.codec, cx)) {
36+
let _ = this.io.with_write_buf(|buf| {
37+
// make sure we've got room
38+
let remaining = buf.remaining_mut();
39+
if remaining < 1024 {
40+
buf.reserve(65535 - remaining);
41+
}
5142

52-
match req.path() {
53-
"/json" => {
54-
buf.extend_from_slice(JSON);
55-
this.codec.set_date_header(buf);
56-
let _ = simd_json::to_writer(
57-
crate::utils::Writer(buf),
58-
&Message {
59-
message: "Hello, World!",
60-
},
61-
);
62-
}
63-
"/plaintext" => {
64-
buf.extend_from_slice(PLAIN);
65-
this.codec.set_date_header(buf);
66-
buf.extend_from_slice(BODY);
67-
}
68-
_ => {
69-
buf.extend_from_slice(HTTPNFOUND);
70-
buf.extend_from_slice(HDR_SERVER);
71-
}
43+
match req.path() {
44+
"/json" => {
45+
buf.extend_from_slice(JSON);
46+
this.codec.set_date_header(buf);
47+
let _ = simd_json::to_writer(
48+
crate::utils::Writer(buf),
49+
&Message {
50+
message: "Hello, World!",
51+
},
52+
);
53+
}
54+
"/plaintext" => {
55+
buf.extend_from_slice(PLAIN);
56+
this.codec.set_date_header(buf);
57+
buf.extend_from_slice(BODY);
58+
}
59+
_ => {
60+
buf.extend_from_slice(HTTPNFOUND);
61+
buf.extend_from_slice(HDR_SERVER);
7262
}
73-
});
74-
}
75-
Ok(None) => break,
76-
_ => {
77-
this.io.close();
78-
return Poll::Ready(Err(()));
79-
}
63+
}
64+
});
65+
} else {
66+
return Poll::Ready(Ok(()));
8067
}
8168
}
82-
let _ = read.poll_read_ready(cx);
83-
Poll::Pending
8469
}
8570
}
8671

@@ -91,7 +76,8 @@ async fn main() -> io::Result<()> {
9176
// start http server
9277
ntex::server::build()
9378
.backlog(1024)
94-
.bind("techempower", "0.0.0.0:8080", || {
79+
.bind("techempower", "0.0.0.0:8080", |cfg| {
80+
cfg.memory_pool(PoolId::P1);
9581
PoolId::P1.set_read_params(65535, 8192);
9682
PoolId::P1.set_write_params(65535, 8192);
9783

@@ -100,7 +86,6 @@ async fn main() -> io::Result<()> {
10086
codec: h1::Codec::default(),
10187
})
10288
})?
103-
.memory_pool("techempower", PoolId::P1)
104-
.start()
89+
.run()
10590
.await
10691
}

0 commit comments

Comments
 (0)