Browse Source

Salvo: upgrade rust version (#7105)

* salvo: remove socket2

* salvo: upgrade rust version

* salvo: remove salvo-db

* salvo: rename req to _req
Chrislearn Young 3 years ago
parent
commit
5b5877f34a

+ 15 - 0
frameworks/Rust/faf/Cargo.lock

@@ -0,0 +1,15 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "faf"
+version = "0.5.0"
+source = "git+https://github.com/errantmind/faf.git#aae75a54637bcf0e225e1078693d5110e444f7d5"
+
+[[package]]
+name = "faf-ex"
+version = "0.2.0"
+dependencies = [
+ "faf",
+]

+ 3 - 2
frameworks/Rust/salvo/Cargo.toml

@@ -16,7 +16,7 @@ name = "main-pg"
 path = "src/main_pg.rs"
 path = "src/main_pg.rs"
 
 
 [dependencies]
 [dependencies]
-anyhow = "1"
+anyhow = "1.0"
 async-trait = "0.1.51"
 async-trait = "0.1.51"
 diesel = { version = "1.4", features = ["postgres", "r2d2"] }
 diesel = { version = "1.4", features = ["postgres", "r2d2"] }
 futures = "0.3"
 futures = "0.3"
@@ -32,7 +32,6 @@ serde_derive = "1.0.125"
 serde_json = "1.0.64"
 serde_json = "1.0.64"
 smallvec = "1.6.1"
 smallvec = "1.6.1"
 snmalloc-rs = { version = "0.2.24", features = ["1mib", "native-cpu"] }
 snmalloc-rs = { version = "0.2.24", features = ["1mib", "native-cpu"] }
-socket2 = { version = "0.4.2", features = ["all"] }
 tokio = { version = "1", features = ["macros", "rt"] }
 tokio = { version = "1", features = ["macros", "rt"] }
 tokio-postgres = "0.7.2"
 tokio-postgres = "0.7.2"
 v_htmlescape = "0.14"
 v_htmlescape = "0.14"
@@ -42,3 +41,5 @@ lto = true
 opt-level = 3
 opt-level = 3
 codegen-units = 1
 codegen-units = 1
 panic = "abort"
 panic = "abort"
+debug = false
+incremental = false

+ 0 - 13
frameworks/Rust/salvo/salvo-db.dockerfile

@@ -1,13 +0,0 @@
-FROM rust:1.56
-
-RUN apt-get update -yqq && apt-get install -yqq cmake g++
-
-ADD ./ /salvo
-WORKDIR /salvo
-
-RUN cargo clean
-RUN RUSTFLAGS="-C target-cpu=native" cargo build --release
-
-EXPOSE 8080
-
-CMD ./target/release/main-db

+ 1 - 1
frameworks/Rust/salvo/salvo-diesel.dockerfile

@@ -1,4 +1,4 @@
-FROM rust:1.56
+FROM rust:1.58.1
 
 
 RUN apt-get update -yqq && apt-get install -yqq cmake g++
 RUN apt-get update -yqq && apt-get install -yqq cmake g++
 
 

+ 1 - 1
frameworks/Rust/salvo/salvo-pg.dockerfile

@@ -1,4 +1,4 @@
-FROM rust:1.56
+FROM rust:1.58.1
 
 
 RUN apt-get update -yqq && apt-get install -yqq cmake g++
 RUN apt-get update -yqq && apt-get install -yqq cmake g++
 
 

+ 1 - 1
frameworks/Rust/salvo/salvo.dockerfile

@@ -1,4 +1,4 @@
-FROM rust:1.56
+FROM rust:1.58.1
 
 
 # Disable simd at jsonescape
 # Disable simd at jsonescape
 ENV CARGO_CFG_JSONESCAPE_DISABLE_AUTO_SIMD=
 ENV CARGO_CFG_JSONESCAPE_DISABLE_AUTO_SIMD=

+ 2 - 2
frameworks/Rust/salvo/src/main.rs

@@ -1,5 +1,5 @@
-#[global_allocator]
-static ALLOC: snmalloc_rs::SnMalloc = snmalloc_rs::SnMalloc;
+// #[global_allocator]
+// static ALLOC: snmalloc_rs::SnMalloc = snmalloc_rs::SnMalloc;
 // #[global_allocator]
 // #[global_allocator]
 // static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc;
 // static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc;
 
 

+ 2 - 2
frameworks/Rust/salvo/src/main_diesel.rs

@@ -46,7 +46,7 @@ fn build_pool(database_url: &str, size: u32) -> Result<PgPool, PoolError> {
 }
 }
 
 
 #[fn_handler]
 #[fn_handler]
-async fn world_row(_req: &mut Request, res: &mut Response) -> Result<(), Error> {
+async fn world_row(res: &mut Response) -> Result<(), Error> {
     let mut rng = SmallRng::from_entropy();
     let mut rng = SmallRng::from_entropy();
     let random_id = rng.gen_range(1..10_001);
     let random_id = rng.gen_range(1..10_001);
     let conn = connect()?;
     let conn = connect()?;
@@ -121,7 +121,7 @@ async fn updates(req: &mut Request, res: &mut Response) -> Result<(), Error> {
 }
 }
 
 
 #[fn_handler]
 #[fn_handler]
-async fn fortunes(_req: &mut Request, res: &mut Response) -> Result<(), Error> {
+async fn fortunes(res: &mut Response) -> Result<(), Error> {
     let conn = connect()?;
     let conn = connect()?;
     let mut items = fortune::table.get_results::<Fortune>(&conn)?;
     let mut items = fortune::table.get_results::<Fortune>(&conn)?;
     items.push(Fortune {
     items.push(Fortune {

+ 13 - 17
frameworks/Rust/salvo/src/server.rs

@@ -1,13 +1,12 @@
 use std::io;
 use std::io;
-use std::net::SocketAddr;
+use std::net::{Ipv4Addr, SocketAddr};
 
 
 use salvo::hyper::server::conn::AddrIncoming;
 use salvo::hyper::server::conn::AddrIncoming;
 use salvo::hyper;
 use salvo::hyper;
-use socket2::{Domain, Socket, Type};
-use tokio::net::TcpListener;
+use tokio::net::{TcpListener, TcpSocket};
 
 
 pub fn builder() -> hyper::server::Builder<AddrIncoming> {
 pub fn builder() -> hyper::server::Builder<AddrIncoming> {
-    let addr = SocketAddr::from(([0, 0, 0, 0], 8080));
+    let addr = SocketAddr::from((Ipv4Addr::UNSPECIFIED, 8080));
     let listener = reuse_listener(addr).expect("couldn't bind to addr");
     let listener = reuse_listener(addr).expect("couldn't bind to addr");
     let incoming = AddrIncoming::from_listener(listener).unwrap();
     let incoming = AddrIncoming::from_listener(listener).unwrap();
     hyper::Server::builder(incoming).http1_only(true).tcp_nodelay(true)
     hyper::Server::builder(incoming).http1_only(true).tcp_nodelay(true)
@@ -15,21 +14,18 @@ pub fn builder() -> hyper::server::Builder<AddrIncoming> {
 
 
 fn reuse_listener(addr: SocketAddr) -> io::Result<TcpListener> {
 fn reuse_listener(addr: SocketAddr) -> io::Result<TcpListener> {
     let socket = match addr {
     let socket = match addr {
-        SocketAddr::V4(_) => Socket::new(Domain::IPV4, Type::STREAM, None)?,
-        SocketAddr::V6(_) => Socket::new(Domain::IPV6, Type::STREAM, None)?,
+        SocketAddr::V4(_) => TcpSocket::new_v4()?,
+        SocketAddr::V6(_) => TcpSocket::new_v6()?,
     };
     };
 
 
     #[cfg(unix)]
     #[cfg(unix)]
-    {
-        if let Err(e) = socket.set_reuse_port(true) {
-            eprintln!("error setting SO_REUSEPORT: {}", e);
+        {
+            if let Err(e) = socket.set_reuseport(true) {
+                eprintln!("error setting SO_REUSEPORT: {}", e);
+            }
         }
         }
-    }
 
 
-    socket.set_reuse_address(true)?;
-    socket.set_nonblocking(true)?;
-    socket.set_nodelay(true)?;
-    socket.bind(&addr.into())?;
-    socket.listen(1024)?;
-    Ok(TcpListener::from_std(socket.into())?)
-}
+    socket.set_reuseaddr(true)?;
+    socket.bind(addr)?;
+    socket.listen(1024)
+}