浏览代码

Upgrade hyperlane v9.4.4 (#10112)

* feat: lock

* feat: lock

* feat: db

* feat: db

* feat: db

* feat: db

* feat: db

* feat: db

* feat: db

* feat: db

* feat: rand

* feat: rand

* feat: rand

* feat: rand

* feat: rand

* feat: port

* feat: port

* feat: port

* feat: db

* feat: db

* feat: db

* feat: lock

* feat: lock

* feat: v4.41.0

* feat: v4.42.0

* Merge remote-tracking branch 'upstream/master'

* Merge remote-tracking branch 'upstream/master'

* feat: inline

* feat: dockerfile

* feat: v4.52.1

* feat: remove key

* remove: log

* remove: log

* feat: async

* remove: empty loop

* feat: utf8

* change: pool_size

* remove: utf8

* feat: log

* feat: log

* feat: v3.14.1

* feat: 4.56.3

* feat: 4.56.4

* feat: 4.56.5

* feat:  rename

* Merge branch 'master' of github.com:TechEmpower/FrameworkBenchmarks

* feat: speed

* feat: speed

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* feat: runtime

* feat: runtime

* feat: runtime

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* lock: toml

* feat: update

* Merge remote-tracking branch 'upstream/master'

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* Merge remote-tracking branch 'upstream/master'

* feat: hyperlane

* feat: update

* docs: readme

* feat: update

* Merge remote-tracking branch 'upstream/master'

* feat: update

* feat: update

* feat: update

* Merge remote-tracking branch 'upstream/master'

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: lock

* feat: use super

* feat: update lock

* feat: update

* feat: update lock

* feat: update lock

* feat: update lock

* feat: lock

* feat: update lock

* feat: update lock

* feat: update lock

* feat: update lock

* feat: update lock

* feat: update lock

* feat: update lock

* feat: update lock

* feat: update lock

* feat: update lock

* feat: update lock

* feat: update lock

* feat: update lock

* Merge remote-tracking branch 'upstream/master'

* feat: update

* feat: utf8

* feat: utf8

* feat: lock

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* update: code

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* Merge remote-tracking branch 'upstream/master'

* feat: update version

* feat: update version

* update: code

* Merge remote-tracking branch 'upstream/master'

* feat: lock

* feat: lock

* feat: lock

* feat: lock

* feat: lock

* feat: lock

* feat: lock

* feat: error handle

* feat: dep

* feat: get_thread_count

* update: code

* feat: lock

* feat: speed

* feat: speed

* update: code

* feat: speed

* update: code

* feat: lock

* fix: Framework hyperlane does not define a default test in benchmark_config.json

* feat: hyperlane http version

* feat: hyperlane http version

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: v0.1.0

* feat: toml

* feat: v6

* feat: v6

* feat: v6

* feat: v6

* feat: v6

* debug: test cache

* debug: test cache

* feat: v6

* feat: send unwrap

* feat: v6

* feat: v6

* feat: v0.1.0

* feat: toml

* feat: toml

* feat: db

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: dir update

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: toml

* feat: toml

---------

Co-authored-by: 尤雨东 <[email protected]>
尤雨东 2 天之前
父节点
当前提交
073ad61f55

+ 25 - 14
frameworks/Rust/hyperlane/Cargo.lock

@@ -538,9 +538,9 @@ dependencies = [
 
 [[package]]
 name = "http-compress"
-version = "2.16.6"
+version = "2.16.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f86b015115d24b1fb70b663fdbc1f1c849883372fb19143709a718751074b907"
+checksum = "589c065ec266404f9e35eb5ae75c542933647f225ee7d66224ae5f187ac8e061"
 dependencies = [
  "brotli",
  "flate2",
@@ -555,9 +555,9 @@ checksum = "c10a92fc539f5fc3b2c5c3de4255e4f62f2768c9cd5a0e7879edf3d3b3189186"
 
 [[package]]
 name = "http-type"
-version = "4.60.0"
+version = "5.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31db399a7dbd7ddd5098b6c8ace6959ed1651a21d9ac76cc099c8bd10af3038c"
+checksum = "30aba9d0d56c9b62634b3074d8450d164f9f99b829df1942884491654368ad92"
 dependencies = [
  "hex",
  "http-compress",
@@ -573,9 +573,9 @@ dependencies = [
 
 [[package]]
 name = "hyperlane"
-version = "8.1.2"
+version = "9.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7968f7272ce9339f8d77effc5f27b7ae571e0061decc67c5d44508e729a93603"
+checksum = "5be294cf7ebe0164f6bff1d1b5ea1a26ce4b1b5d98c84b7013ba886c777eb8bd"
 dependencies = [
  "http-type",
  "inventory",
@@ -1200,10 +1200,11 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "serde"
-version = "1.0.219"
+version = "1.0.223"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
+checksum = "a505d71960adde88e293da5cb5eda57093379f64e61cf77bf0e6a63af07a7bac"
 dependencies = [
+ "serde_core",
  "serde_derive",
 ]
 
@@ -1219,11 +1220,20 @@ dependencies = [
  "xml-rs",
 ]
 
+[[package]]
+name = "serde_core"
+version = "1.0.223"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20f57cbd357666aa7b3ac84a90b4ea328f1d4ddb6772b430caa5d9e1309bb9e9"
+dependencies = [
+ "serde_derive",
+]
+
 [[package]]
 name = "serde_derive"
-version = "1.0.219"
+version = "1.0.223"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
+checksum = "3d428d07faf17e306e699ec1e91996e5a165ba5d6bce5b5155173e91a8a01a56"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1232,14 +1242,15 @@ dependencies = [
 
 [[package]]
 name = "serde_json"
-version = "1.0.143"
+version = "1.0.145"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a"
+checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c"
 dependencies = [
  "itoa",
  "memchr",
  "ryu",
  "serde",
+ "serde_core",
 ]
 
 [[package]]
@@ -1713,9 +1724,9 @@ dependencies = [
 
 [[package]]
 name = "twox-hash"
-version = "2.1.1"
+version = "2.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b907da542cbced5261bd3256de1b3a1bf340a3d37f93425a07362a1d687de56"
+checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c"
 dependencies = [
  "rand 0.9.2",
 ]

+ 3 - 3
frameworks/Rust/hyperlane/Cargo.toml

@@ -20,13 +20,13 @@ exclude = [
 
 [dependencies]
 futures = "0.3.31"
-hyperlane = "8.1.2"
+hyperlane = "9.4.4"
 hyperlane-time = "0.7.8"
 num_cpus = "1.17.0"
 once_cell = "1.21.3"
 rand = "0.9.2"
-serde = "1.0.219"
-serde_json = "1.0.143"
+serde = "1.0.223"
+serde_json = "1.0.145"
 sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] }
 
 [profile.dev]

+ 1 - 1
frameworks/Rust/hyperlane/hyperlane.default.dockerfile

@@ -1,4 +1,4 @@
-FROM rust:1.85
+FROM rust:1.89
 
 RUN apt-get update -yqq && apt-get install -yqq cmake g++ binutils lld
 

+ 1 - 1
frameworks/Rust/hyperlane/src/middleware/fn.rs

@@ -7,7 +7,7 @@ pub async fn request(ctx: Context) {
         .await
         .set_response_header(SERVER, HYPERLANE)
         .await
-        .set_response_header(DATE, gmt())
+        .set_response_header(DATE, &gmt())
         .await
         .set_response_status_code(200)
         .await

+ 8 - 8
frameworks/Rust/hyperlane/src/route/fn.rs

@@ -5,7 +5,7 @@ pub async fn json(ctx: Context) {
         "message": RESPONSEDATA_STR
     });
     let run = || async {
-        ctx.set_response_body(serde_json::to_string(&json).unwrap_or_default())
+        ctx.set_response_body(&serde_json::to_vec(&json).unwrap_or_default())
             .await;
         ctx.send().await.unwrap();
     };
@@ -18,7 +18,7 @@ pub async fn json(ctx: Context) {
 
 pub async fn plaintext(ctx: Context) {
     ctx.set_response_header(CONTENT_TYPE, TEXT_PLAIN).await;
-    ctx.set_response_body(RESPONSEDATA_BIN).await;
+    ctx.set_response_body(&RESPONSEDATA_BIN).await;
     let run = || async {
         ctx.send().await.unwrap();
     };
@@ -33,7 +33,7 @@ pub async fn db(ctx: Context) {
     let db_connection: &DbPoolConnection = get_db_connection();
     let run = || async {
         let query_row: QueryRow = random_world_row(db_connection).await;
-        ctx.set_response_body(serde_json::to_string(&query_row).unwrap_or_default())
+        ctx.set_response_body(&serde_json::to_vec(&query_row).unwrap_or_default())
             .await
             .send()
             .await
@@ -57,7 +57,7 @@ pub async fn query(ctx: Context) {
             .max(1);
         let db_pool: &DbPoolConnection = get_db_connection();
         let data: Vec<QueryRow> = get_some_row_id(queries, db_pool).await;
-        ctx.set_response_body(serde_json::to_string(&data).unwrap_or_default())
+        ctx.set_response_body(&serde_json::to_vec(&data).unwrap_or_default())
             .await
             .send()
             .await
@@ -73,7 +73,7 @@ pub async fn query(ctx: Context) {
 pub async fn fortunes(ctx: Context) {
     ctx.set_response_header(
         CONTENT_TYPE,
-        ContentType::format_content_type_with_charset(TEXT_HTML, UTF8),
+        &ContentType::format_content_type_with_charset(TEXT_HTML, UTF8),
     )
     .await;
     let run = || async {
@@ -92,7 +92,7 @@ pub async fn fortunes(ctx: Context) {
         ));
         fortunes_list.sort_by(|it, next| it.message.cmp(&next.message));
         let res: String = FortunesTemplate::new(fortunes_list).to_string();
-        ctx.set_response_body(res).await.send().await.unwrap();
+        ctx.set_response_body(&res).await.send().await.unwrap();
     };
     run().await;
     while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await {
@@ -111,7 +111,7 @@ pub async fn update(ctx: Context) {
             .min(ROW_LIMIT as Queries)
             .max(1);
         let res: Vec<QueryRow> = update_world_rows(queries).await;
-        ctx.set_response_body(serde_json::to_string(&res).unwrap_or_default())
+        ctx.set_response_body(&serde_json::to_vec(&res).unwrap_or_default())
             .await
             .send()
             .await
@@ -134,7 +134,7 @@ pub async fn cached_query(ctx: Context) {
             .min(ROW_LIMIT as Queries)
             .max(1);
         let res: Vec<&QueryRow> = CACHE.iter().take(count as usize).collect();
-        ctx.set_response_body(serde_json::to_string(&res).unwrap_or_default())
+        ctx.set_response_body(&serde_json::to_vec(&res).unwrap_or_default())
             .await
             .send()
             .await

+ 19 - 38
frameworks/Rust/hyperlane/src/server/fn.rs

@@ -13,59 +13,40 @@ fn runtime() -> Runtime {
 
 async fn init_server() {
     let config: ServerConfig = ServerConfig::new().await;
-    config.host("0.0.0.0").await;
-    config.port(8080).await;
-    config.disable_nodelay().await;
-    config.http_buffer(256).await;
-    config.ws_buffer(256).await;
-
-    let server: Server = Server::from(config).await;
-
-    server.request_middleware(middleware::request).await;
-
-    server
-        .disable_http_hook("/plaintext")
+    config
+        .host("0.0.0.0")
         .await
-        .route("/plaintext", route::plaintext)
+        .port(8080)
+        .await
+        .disable_linger()
+        .await
+        .disable_nodelay()
+        .await
+        .buffer(256)
         .await;
-
-    server
-        .disable_http_hook("/json")
+    Server::from(config)
+        .await
+        .request_middleware(middleware::request)
+        .await
+        .route("/plaintext", route::plaintext)
         .await
         .route("/json", route::json)
-        .await;
-
-    server
-        .disable_http_hook("/cached-quer")
         .await
         .route("/cached-quer", route::cached_query)
-        .await;
-
-    server
-        .disable_http_hook("/db")
         .await
         .route("/db", route::db)
-        .await;
-
-    server
-        .disable_http_hook("/query")
         .await
         .route("/query", route::query)
-        .await;
-
-    server
-        .disable_http_hook("/fortunes")
         .await
         .route("/fortunes", route::fortunes)
-        .await;
-
-    server
-        .disable_http_hook("/upda")
         .await
         .route("/upda", route::update)
+        .await
+        .run()
+        .await
+        .unwrap()
+        .wait()
         .await;
-
-    server.run().await.unwrap().wait().await;
 }
 
 async fn init() {