From 404e2dd1d3e511770556a0c64484852eb84c3f8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 11:06:37 +0800 Subject: [PATCH 001/260] feat: update & fortune --- frameworks/Rust/hyperlane/Cargo.lock | 215 ++++++++++++++++-- frameworks/Rust/hyperlane/Cargo.toml | 3 +- frameworks/Rust/hyperlane/README.md | 12 +- .../Rust/hyperlane/benchmark_config.json | 2 + frameworks/Rust/hyperlane/src/constant.rs | 3 +- frameworks/Rust/hyperlane/src/db.rs | 60 ++++- frameworks/Rust/hyperlane/src/main.rs | 5 +- .../Rust/hyperlane/src/request_middleware.rs | 5 +- frameworks/Rust/hyperlane/src/route.rs | 39 +++- frameworks/Rust/hyperlane/src/server.rs | 2 + frameworks/Rust/hyperlane/src/type.rs | 19 +- frameworks/Rust/may-minihttp/README.md | 2 +- 12 files changed, 333 insertions(+), 34 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 8d66da54a3c..cb59f7a97ff 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -266,6 +266,72 @@ dependencies = [ "typenum", ] +[[package]] +name = "darling" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +dependencies = [ + "darling_core", + "quote", + "syn", +] + +[[package]] +name = "derive_builder" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" +dependencies = [ + "derive_builder_macro", +] + +[[package]] +name = "derive_builder_core" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "derive_builder_macro" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" +dependencies = [ + "derive_builder_core", + "syn", +] + [[package]] name = "digest" version = "0.10.7" @@ -322,6 +388,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + [[package]] name = "form_urlencoded" version = "1.2.1" @@ -471,6 +543,22 @@ dependencies = [ "serde", ] +[[package]] +name = "handlebars" +version = "6.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d752747ddabc4c1a70dd28e72f2e3c218a816773e0d7faf67433f1acfa6cba7c" +dependencies = [ + "derive_builder", + "log", + "num-order", + "pest", + "pest_derive", + "serde", + "serde_json", + "thiserror 2.0.12", +] + [[package]] name = "hashbrown" version = "0.14.5" @@ -498,9 +586,9 @@ dependencies = [ [[package]] name = "http-compress" -version = "2.3.4" +version = "2.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8646f4e10f8fc48d8f2a595e6ef303189e49e386d6863d771f028c969f0c5e42" +checksum = "cf5394c60478257d0d294dd21362169af6823c85bc98ab73ce073193ebe0e178" dependencies = [ "brotli", "flate2", @@ -509,15 +597,15 @@ dependencies = [ [[package]] name = "http-constant" -version = "1.33.1" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a3567340a02df4ec03fa5475e2b273aa183d875b3bf09674403407aadda1cd1" +checksum = "c47702947ab1af7d39cca41b42beef6598b8bc26be50d22029b3547dbca1ff09" [[package]] name = "http-type" -version = "3.21.1" +version = "3.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4f21786d19bad67be1eb85b528e65722d44812d6e9bed878147f767573a2586" +checksum = "9950165f6661115413e9f836e9cb2e6174fbf6b9fff7cad88a1d4bdfdb454d81" dependencies = [ "hex", "http-compress", @@ -533,9 +621,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.31.1" +version = "4.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74319ece1df44e8ddd62a9e1ae13040ba34fd1500eb240fa449ca8fbc7210727" +checksum = "89e5db0096d50b03bea038232871b8b81d8356f02549a1f9f60389a7e20b32d9" dependencies = [ "async-func", "clonelicious", @@ -583,6 +671,7 @@ dependencies = [ "bb8", "bb8-postgres", "chrono", + "handlebars", "hyperlane", "rand", "serde", @@ -730,6 +819,12 @@ dependencies = [ "syn", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "1.0.3" @@ -842,6 +937,21 @@ dependencies = [ "windows-sys", ] +[[package]] +name = "num-modular" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17bb261bf36fa7d83f4c294f834e91256769097b3cb505d44831e0a179ac647f" + +[[package]] +name = "num-order" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "537b596b97c40fcf8056d153049eb22f481c17ebce72a513ec9286e4986d1bb6" +dependencies = [ + "num-modular", +] + [[package]] name = "num-traits" version = "0.2.19" @@ -862,9 +972,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.21.0" +version = "1.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde51589ab56b20a6f686b2c68f7a0bd6add753d697abf720d63f8db3ab7b1ad" +checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" [[package]] name = "parking_lot" @@ -895,6 +1005,51 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +[[package]] +name = "pest" +version = "2.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" +dependencies = [ + "memchr", + "thiserror 2.0.12", + "ucd-trie", +] + +[[package]] +name = "pest_derive" +version = "2.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "816518421cfc6887a0d62bf441b6ffb4536fcc926395a69e1a85852d4363f57e" +dependencies = [ + "pest", + "pest_generator", +] + +[[package]] +name = "pest_generator" +version = "2.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d1396fd3a870fc7838768d171b4616d5c91f6cc25e377b673d714567d99377b" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pest_meta" +version = "2.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1e58089ea25d717bfd31fb534e4f3afcc2cc569c70de3e239778991ea3b7dea" +dependencies = [ + "once_cell", + "pest", + "sha2", +] + [[package]] name = "phf" version = "0.11.3" @@ -1102,7 +1257,7 @@ checksum = "fb3aa78ecda1ebc9ec9847d5d3aba7d618823446a049ba2491940506da6e2782" dependencies = [ "log", "serde", - "thiserror", + "thiserror 1.0.69", "xml-rs", ] @@ -1251,6 +1406,12 @@ dependencies = [ "unicode-properties", ] +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + [[package]] name = "subtle" version = "2.6.1" @@ -1285,7 +1446,16 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl 2.0.12", ] [[package]] @@ -1299,6 +1469,17 @@ dependencies = [ "syn", ] +[[package]] +name = "thiserror-impl" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "tinystr" version = "0.7.6" @@ -1326,9 +1507,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.44.0" +version = "1.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9975ea0f48b5aa3972bf2d888c238182458437cc2a19374b81b25cdf1023fb3a" +checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a" dependencies = [ "backtrace", "bytes", @@ -1398,6 +1579,12 @@ version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" +[[package]] +name = "ucd-trie" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" + [[package]] name = "unicode-bidi" version = "0.3.18" diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index cb0eccc2e0b..8865e6f5314 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,13 +18,14 @@ exclude = [ ] [dependencies] -hyperlane = "4.31.1" +hyperlane = "4.33.0" bb8 = "0.9.0" bb8-postgres = "0.9.0" rand = "0.9.0" tokio-postgres = { version = "0.7.13", features = ["with-uuid-0_8"] } chrono = "0.4.40" serde = "1.0.219" +handlebars = "6.3.1" [profile.dev] incremental = false diff --git a/frameworks/Rust/hyperlane/README.md b/frameworks/Rust/hyperlane/README.md index 96bf0620a7e..c1447c154b2 100644 --- a/frameworks/Rust/hyperlane/README.md +++ b/frameworks/Rust/hyperlane/README.md @@ -6,7 +6,7 @@ Hyperlane is a lightweight and high-performance Rust HTTP server library designe ## Database -PostgreSQL +PostgreSQL. ## Test URLs @@ -22,6 +22,14 @@ PostgreSQL http://localhost:8080/queries?q=20 -### Test 4: Plaintext +### Test 4: Fortunes (Template rendering) + + http://localhost:8080/fortune + +### Test 5: Update Query + + http://localhost:8080/updates?q=20 + +### Test 6: Plaintext http://localhost:8080/plaintext diff --git a/frameworks/Rust/hyperlane/benchmark_config.json b/frameworks/Rust/hyperlane/benchmark_config.json index b52090969ec..760f997a538 100644 --- a/frameworks/Rust/hyperlane/benchmark_config.json +++ b/frameworks/Rust/hyperlane/benchmark_config.json @@ -6,8 +6,10 @@ "dockerfile": "hyperlane.dockerfile", "json_url": "/json", "plaintext_url": "/plaintext", + "fortune_url": "/fortunes", "db_url": "/db", "query_url": "/queries?q=", + "update_url": "/updates?q=", "port": 8080, "approach": "Realistic", "classification": "Micro", diff --git a/frameworks/Rust/hyperlane/src/constant.rs b/frameworks/Rust/hyperlane/src/constant.rs index adc58ac641e..a582004ee7a 100644 --- a/frameworks/Rust/hyperlane/src/constant.rs +++ b/frameworks/Rust/hyperlane/src/constant.rs @@ -6,5 +6,4 @@ pub static DATABASE_USER_PASSWORD: &str = "benchmarkdbpass"; pub static DATABASE_PORT: usize = 5432; pub static DATABASE_NAME: &str = "hello_world"; pub static TABLE_NAME: &str = "World"; -pub static ROW_LIMIT: i32 = 500; -pub static HYPERLANE: &str = "hyperlane"; +pub static ROW_LIMIT: i32 = 10_000; diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 81120b548bb..3b27c2b5b4f 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -113,7 +113,7 @@ pub async fn init_db() { insert_records().await; } -pub async fn random_world_row() -> Result> { +pub async fn random_world_row() -> Result> { let random_id: i32 = rand::rng().random_range(1..ROW_LIMIT); let db_pool: DbPoolConnection = get_db_connection().await; let connection: DbConnection = db_pool @@ -131,5 +131,61 @@ pub async fn random_world_row() -> Result> let random_number: i32 = rows.get(1); return Ok(QueryRow::new(id, random_number)); } - return Ok(QueryRow::new(0, 0)); + return Ok(QueryRow::new(1, 1)); +} + +pub async fn update_world_rows(times: usize) -> Result, Box> { + let db_pool: DbPoolConnection = get_db_connection().await; + let connection: DbConnection = db_pool + .get() + .await + .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e)))?; + let mut random_id_list: Vec = Vec::with_capacity(times); + let mut params: Vec> = Vec::with_capacity(times * 2); + for _ in 0..times { + let random_id: i32 = rand::rng().random_range(1..ROW_LIMIT); + let new_random_number: i32 = rand::rng().random_range(1..ROW_LIMIT); + random_id_list.push(QueryRow::new(random_id, new_random_number)); + params.push(Box::new(new_random_number)); + params.push(Box::new(random_id)); + } + let mut query: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME); + for i in 0..times { + query.push_str(&format!( + "WHEN ${}::INTEGER THEN ${}::INTEGER ", + i * 2 + 2, + i * 2 + 1 + )); + } + query.push_str("END WHERE id IN ("); + for i in 0..times { + if i > 0 { + query.push_str(", "); + } + query.push_str(&format!("${}::INTEGER", i * 2 + 2)); + } + query.push(')'); + let stmt: Statement = connection.prepare(&query).await?; + let params_refs: Vec<&(dyn bb8_postgres::tokio_postgres::types::ToSql + Sync)> = params + .iter() + .map(|p| p.as_ref() as &(dyn ToSql + Sync)) + .collect(); + connection.execute(&stmt, ¶ms_refs).await?; + Ok(random_id_list) +} + +pub async fn all_world_row() -> Result, Box> { + let db_pool: DbPoolConnection = get_db_connection().await; + let connection: DbConnection = db_pool + .get() + .await + .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e)))?; + let stmt: Statement = connection + .prepare(&format!( + "SELECT id, randomNumber FROM {} ORDER BY randomNumber ASC", + TABLE_NAME + )) + .await?; + let rows: Vec = connection.query(&stmt, &[]).await?; + return Ok(rows); } diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index d0145b343da..605f270a352 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -13,6 +13,7 @@ pub(crate) use bb8_postgres::PostgresConnectionManager; pub(crate) use chrono::{DateTime, Utc}; pub(crate) use constant::*; pub(crate) use db::*; +pub(crate) use handlebars::Handlebars; pub(crate) use hyperlane::{ once_cell::sync::Lazy, serde::*, @@ -26,11 +27,11 @@ pub(crate) use rand::Rng; pub(crate) use request_middleware::*; pub(crate) use response_middleware::*; pub(crate) use route::*; - pub(crate) use server::*; +pub(crate) use std::error::Error; pub(crate) use std::time::SystemTime; pub(crate) use std::{io, sync::Arc}; -pub(crate) use tokio_postgres::{Config, NoTls, Row, Statement}; +pub(crate) use tokio_postgres::{types::ToSql, Config, NoTls, Row, Statement}; pub(crate) use utils::*; #[tokio::main] diff --git a/frameworks/Rust/hyperlane/src/request_middleware.rs b/frameworks/Rust/hyperlane/src/request_middleware.rs index b1ffc0fd2fa..28a2676fccd 100644 --- a/frameworks/Rust/hyperlane/src/request_middleware.rs +++ b/frameworks/Rust/hyperlane/src/request_middleware.rs @@ -4,10 +4,7 @@ pub async fn request(controller_data: ControllerData) { let _ = controller_data .set_response_header(CONNECTION, CONNECTION_KEEP_ALIVE) .await - .set_response_header( - CONTENT_TYPE, - format!("{}; {}", APPLICATION_JSON, CHARSET_UTF_8), - ) + .set_response_header(CONTENT_TYPE, APPLICATION_JSON) .await .set_response_header(SERVER, HYPERLANE) .await diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index fce11dbc1ca..fafb465fb5a 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -30,7 +30,7 @@ pub async fn queries(controller_data: ControllerData) { .await .and_then(|queries| queries.parse::().ok()) .unwrap_or_default() - .min(ROW_LIMIT as usize) + .min(ROW_LIMIT as Queries) .max(1); let mut data: Vec = Vec::with_capacity(queries); for _ in 0..queries { @@ -42,3 +42,40 @@ pub async fn queries(controller_data: ControllerData) { .set_response_body(serde_json::to_string(&data).unwrap_or_default()) .await; } + +pub async fn fortune(controller_data: ControllerData) { + let all_rows: Vec = all_world_row().await.unwrap_or_default(); + let fortune_list: Vec = all_rows + .iter() + .map(|row| { + let id: i32 = row.get(0); + let message: i32 = row.get(1); + Fortune::new(id, message) + }) + .collect(); + let template: &str = include_str!("../templates/fortune.hbs"); + let mut handlebars: Handlebars<'_> = Handlebars::new(); + let _ = handlebars.register_template_string("fortunes", template); + let res: String = handlebars + .render("fortunes", &serde_json::json!({ "fortunes": fortune_list })) + .unwrap_or_default(); + controller_data + .set_response_header(CONTENT_TYPE, TEXT_HTML) + .await + .set_response_body(res) + .await; +} + +pub async fn updates(controller_data: ControllerData) { + let queries: Queries = controller_data + .get_request_query("q") + .await + .and_then(|queries| queries.parse::().ok()) + .unwrap_or_default() + .min(ROW_LIMIT as Queries) + .max(1); + let res: Vec = update_world_rows(queries).await.unwrap(); + let _ = controller_data + .set_response_body(serde_json::to_string(&res).unwrap_or_default()) + .await; +} diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 7042eab442b..3c59d9ed7be 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -11,6 +11,8 @@ pub async fn run_server() { server.route("/plaintext", plaintext).await; server.route("/db", db).await; server.route("/queries", queries).await; + server.route("/fortune", fortune).await; + server.route("/updates", updates).await; server.request_middleware(request).await; server.response_middleware(response).await; println_success!("server initialization completed"); diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index 5e524ede2e9..9bd7f36ff53 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -8,14 +8,23 @@ pub type Queries = usize; #[derive(Serialize)] pub struct QueryRow { id: i32, - randomNumber: i32, + random_number: i32, } impl QueryRow { pub fn new(id: i32, random_number: i32) -> Self { - Self { - id: id, - randomNumber: random_number, - } + Self { id, random_number } + } +} + +#[derive(Serialize)] +pub struct Fortune { + id: i32, + message: i32, +} + +impl Fortune { + pub fn new(id: i32, message: i32) -> Self { + Self { id, message } } } diff --git a/frameworks/Rust/may-minihttp/README.md b/frameworks/Rust/may-minihttp/README.md index e202bf0538e..a138a267303 100644 --- a/frameworks/Rust/may-minihttp/README.md +++ b/frameworks/Rust/may-minihttp/README.md @@ -10,7 +10,7 @@ PostgreSQL. ## Test URLs -### Test 1: JSON Encoding +### Test 1: JSON Encoding http://localhost:8080/json From 23a98a6954b54787ae5624f584c02a463727fc0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 11:19:59 +0800 Subject: [PATCH 002/260] feat: randomNumber --- frameworks/Rust/hyperlane/src/type.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index 9bd7f36ff53..3aaa9ead7f4 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -8,12 +8,15 @@ pub type Queries = usize; #[derive(Serialize)] pub struct QueryRow { id: i32, - random_number: i32, + randomNumber: i32, } impl QueryRow { pub fn new(id: i32, random_number: i32) -> Self { - Self { id, random_number } + Self { + id, + randomNumber: random_number, + } } } From ac7dae2cae06e516e4fd534e3af02065e78d7b50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 11:25:26 +0800 Subject: [PATCH 003/260] feat: max row 500 --- frameworks/Rust/hyperlane/src/constant.rs | 2 +- frameworks/Rust/hyperlane/src/route.rs | 2 +- frameworks/Rust/hyperlane/src/server.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/constant.rs b/frameworks/Rust/hyperlane/src/constant.rs index a582004ee7a..2b988574a6c 100644 --- a/frameworks/Rust/hyperlane/src/constant.rs +++ b/frameworks/Rust/hyperlane/src/constant.rs @@ -6,4 +6,4 @@ pub static DATABASE_USER_PASSWORD: &str = "benchmarkdbpass"; pub static DATABASE_PORT: usize = 5432; pub static DATABASE_NAME: &str = "hello_world"; pub static TABLE_NAME: &str = "World"; -pub static ROW_LIMIT: i32 = 10_000; +pub static ROW_LIMIT: i32 = 500; diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index fafb465fb5a..bee73dbe29c 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -43,7 +43,7 @@ pub async fn queries(controller_data: ControllerData) { .await; } -pub async fn fortune(controller_data: ControllerData) { +pub async fn fortunes(controller_data: ControllerData) { let all_rows: Vec = all_world_row().await.unwrap_or_default(); let fortune_list: Vec = all_rows .iter() diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 3c59d9ed7be..f73eaf4fd4a 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -11,7 +11,7 @@ pub async fn run_server() { server.route("/plaintext", plaintext).await; server.route("/db", db).await; server.route("/queries", queries).await; - server.route("/fortune", fortune).await; + server.route("/fortunes", fortunes).await; server.route("/updates", updates).await; server.request_middleware(request).await; server.response_middleware(response).await; From 84934be73d5aad19f9c488b0c04078fb50a9f1bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 11:49:11 +0800 Subject: [PATCH 004/260] feat: update --- frameworks/Rust/hyperlane/src/db.rs | 32 ++++++--------------------- frameworks/Rust/hyperlane/src/type.rs | 1 + 2 files changed, 8 insertions(+), 25 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 3b27c2b5b4f..18e29eea2e0 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -141,36 +141,18 @@ pub async fn update_world_rows(times: usize) -> Result, Box = Vec::with_capacity(times); - let mut params: Vec> = Vec::with_capacity(times * 2); for _ in 0..times { let random_id: i32 = rand::rng().random_range(1..ROW_LIMIT); let new_random_number: i32 = rand::rng().random_range(1..ROW_LIMIT); random_id_list.push(QueryRow::new(random_id, new_random_number)); - params.push(Box::new(new_random_number)); - params.push(Box::new(random_id)); + let query = format!("UPDATE {} SET randomNumber = $1 WHERE id = $2", TABLE_NAME); + let stmt: Statement = connection.prepare(&query).await?; + let params_refs: Vec<&DynToSqlSync> = vec![ + &new_random_number as &DynToSqlSync, + &random_id as &DynToSqlSync, + ]; + connection.execute(&stmt, ¶ms_refs).await?; } - let mut query: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME); - for i in 0..times { - query.push_str(&format!( - "WHEN ${}::INTEGER THEN ${}::INTEGER ", - i * 2 + 2, - i * 2 + 1 - )); - } - query.push_str("END WHERE id IN ("); - for i in 0..times { - if i > 0 { - query.push_str(", "); - } - query.push_str(&format!("${}::INTEGER", i * 2 + 2)); - } - query.push(')'); - let stmt: Statement = connection.prepare(&query).await?; - let params_refs: Vec<&(dyn bb8_postgres::tokio_postgres::types::ToSql + Sync)> = params - .iter() - .map(|p| p.as_ref() as &(dyn ToSql + Sync)) - .collect(); - connection.execute(&stmt, ¶ms_refs).await?; Ok(random_id_list) } diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index 3aaa9ead7f4..2ac70fdb656 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -3,6 +3,7 @@ use crate::*; pub type DbPoolConnection = bb8::Pool>; pub type DbConnection<'a> = PooledConnection<'a, PostgresConnectionManager>; pub type Queries = usize; +pub type DynToSqlSync = dyn ToSql + Sync; #[allow(bad_style)] #[derive(Serialize)] From f83757b4036f7d16b6f6ff2896ee4015ca4086c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 12:14:31 +0800 Subject: [PATCH 005/260] feat: Fortune --- frameworks/Rust/hyperlane/Cargo.lock | 16 +- frameworks/Rust/hyperlane/src/route.rs | 7 +- frameworks/Rust/hyperlane/src/type.rs | 4 +- frameworks/Rust/may-minihttp/Cargo.lock | 1381 +++++++++++++++++++++++ 4 files changed, 1397 insertions(+), 11 deletions(-) create mode 100644 frameworks/Rust/may-minihttp/Cargo.lock diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index cb59f7a97ff..87ad658c34f 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -76,9 +76,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.87" +version = "0.1.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d556ec1359574147ec0c4fc5eb525f3f23263a592b1a9c07e0a75b427de55c97" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", @@ -864,9 +864,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.170" +version = "0.2.171" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828" +checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" [[package]] name = "litemap" @@ -1130,9 +1130,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.39" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1f1914ce909e1658d9907913b4b91947430c7d9be598b15a1912935b8c04801" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] @@ -1562,9 +1562,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.13" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" +checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034" dependencies = [ "bytes", "futures-core", diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index bee73dbe29c..5742e496791 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -45,14 +45,19 @@ pub async fn queries(controller_data: ControllerData) { pub async fn fortunes(controller_data: ControllerData) { let all_rows: Vec = all_world_row().await.unwrap_or_default(); - let fortune_list: Vec = all_rows + let mut fortune_list: Vec = all_rows .iter() .map(|row| { let id: i32 = row.get(0); let message: i32 = row.get(1); + let message: String = message.to_string(); Fortune::new(id, message) }) .collect(); + fortune_list.push(Fortune::new( + 0, + "Additional fortune added at request time.".to_owned(), + )); let template: &str = include_str!("../templates/fortune.hbs"); let mut handlebars: Handlebars<'_> = Handlebars::new(); let _ = handlebars.register_template_string("fortunes", template); diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index 2ac70fdb656..40f7fc68654 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -24,11 +24,11 @@ impl QueryRow { #[derive(Serialize)] pub struct Fortune { id: i32, - message: i32, + message: String, } impl Fortune { - pub fn new(id: i32, message: i32) -> Self { + pub fn new(id: i32, message: String) -> Self { Self { id, message } } } diff --git a/frameworks/Rust/may-minihttp/Cargo.lock b/frameworks/Rust/may-minihttp/Cargo.lock new file mode 100644 index 00000000000..bf333f4ab37 --- /dev/null +++ b/frameworks/Rust/may-minihttp/Cargo.lock @@ -0,0 +1,1381 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "annotate-snippets" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccaf7e9dfbb6ab22c82e473cd1a8a7bd313c19a5b7e40970f3d89ef5a5c9e81e" +dependencies = [ + "unicode-width", + "yansi-term", +] + +[[package]] +name = "atoi" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" +dependencies = [ + "num-traits", +] + +[[package]] +name = "autocfg" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "bitflags" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "buf-min" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22d5698cf6842742ed64805705798f8b351fff53fa546fd45c52184bee58dc90" +dependencies = [ + "bytes", +] + +[[package]] +name = "bumpalo" +version = "3.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" + +[[package]] +name = "cc" +version = "1.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" +dependencies = [ + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "chrono" +version = "0.4.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "wasm-bindgen", + "windows-link", +] + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core_affinity" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a034b3a7b624016c6e13f5df875747cc25f884156aad2abd12b6c46797971342" +dependencies = [ + "libc", + "num_cpus", + "winapi", +] + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crossbeam" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-epoch", + "crossbeam-queue", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "derive_more" +version = "0.99.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3da29a38df43d6f156149c9b43ded5e018ddff2a855cf2cfd62e8cd7d079c69f" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn 2.0.100", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", + "subtle", +] + +[[package]] +name = "dtoa" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6add3b8cff394282be81f3fc1a0605db594ed69890078ca6e2cab1c408bcf04" + +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + +[[package]] +name = "generator" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc6bd114ceda131d3b1d665eba35788690ad37f5916457286b32ab6fd3c438dd" +dependencies = [ + "cfg-if", + "libc", + "log", + "rustversion", + "windows", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +dependencies = [ + "cfg-if", + "libc", + "wasi", + "windows-targets", +] + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "iana-time-zone" +version = "0.1.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core 0.52.0", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "js-sys" +version = "0.3.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "libc" +version = "0.2.171" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" + +[[package]] +name = "libmimalloc-sys" +version = "0.1.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23aa6811d3bd4deb8a84dde645f943476d13b248d818edcf8ce0b2f37f036b44" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" + +[[package]] +name = "may" +version = "0.3.49" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a809e2d6bacd818a8d78b2d43e512a29029d875338a820df5e4311daf824078b" +dependencies = [ + "cfg-if", + "core_affinity", + "crossbeam", + "generator", + "libc", + "log", + "may_queue", + "nix", + "num_cpus", + "parking_lot", + "rustversion", + "smallvec", + "socket2", + "windows-sys 0.59.0", +] + +[[package]] +name = "may-minihttp" +version = "0.1.0" +dependencies = [ + "atoi", + "buf-min", + "bytes", + "log", + "may", + "may_minihttp", + "may_postgres", + "mimalloc", + "nanorand", + "num_cpus", + "smallvec", + "yarte", +] + +[[package]] +name = "may_minihttp" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "710fda59b93aa204a26bfc7ba9c349d90035bd1b30df10df46d7c552d107291e" +dependencies = [ + "bytes", + "httparse", + "httpdate", + "itoa", + "log", + "may", + "once_cell", +] + +[[package]] +name = "may_postgres" +version = "0.1.0" +source = "git+https://github.com/Xudong-Huang/may_postgres.git?rev=917ed78#917ed788c31825b79d38e15ad8742369bec89761" +dependencies = [ + "byteorder", + "bytes", + "crossbeam", + "fallible-iterator", + "log", + "may", + "percent-encoding", + "phf", + "postgres-protocol", + "postgres-types", + "smallvec", + "spin", +] + +[[package]] +name = "may_queue" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7026ba39000f40c16ba8ea206967380471726dd26fc34f51491b47fba9d84a94" +dependencies = [ + "crossbeam-utils", + "rustversion", + "smallvec", +] + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "memoffset" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "mimalloc" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68914350ae34959d83f732418d51e2427a794055d0b9529f48259ac07af65633" +dependencies = [ + "libmimalloc-sys", +] + +[[package]] +name = "nanorand" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" + +[[package]] +name = "nix" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +dependencies = [ + "bitflags", + "cfg-if", + "cfg_aliases", + "libc", + "memoffset", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "once_cell" +version = "1.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "phf" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +dependencies = [ + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" +dependencies = [ + "siphasher", +] + +[[package]] +name = "postgres-protocol" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76ff0abab4a9b844b93ef7b81f1efc0a366062aaef2cd702c76256b5dc075c54" +dependencies = [ + "base64", + "byteorder", + "bytes", + "fallible-iterator", + "hmac", + "md-5", + "memchr", + "rand", + "sha2", + "stringprep", +] + +[[package]] +name = "postgres-types" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613283563cd90e1dfc3518d548caee47e0e725455ed619881f5cf21f36de4b48" +dependencies = [ + "bytes", + "fallible-iterator", + "postgres-protocol", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "prettyplease" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" +dependencies = [ + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "proc-macro2" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +dependencies = [ + "rand_chacha", + "rand_core", + "zerocopy", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom", +] + +[[package]] +name = "redox_syscall" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + +[[package]] +name = "rustversion" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "semver" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" + +[[package]] +name = "serde" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "serde_json" +version = "1.0.140" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "siphasher" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + +[[package]] +name = "smallvec" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" + +[[package]] +name = "socket2" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "stringprep" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", + "unicode-properties", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tinyvec" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + +[[package]] +name = "typenum" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" + +[[package]] +name = "unicode-bidi" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + +[[package]] +name = "unicode-normalization" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-properties" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" + +[[package]] +name = "unicode-width" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" + +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + +[[package]] +name = "v_eval" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dd8b599d797eb038d0dde9a3860aacb6bbba3bffa4ac64f807c8673820cc9d9" +dependencies = [ + "regex", + "syn 1.0.109", +] + +[[package]] +name = "v_htmlescape" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e8257fbc510f0a46eb602c10215901938b5c2a7d5e70fc11483b1d3c9b5b18c" +dependencies = [ + "buf-min", +] + +[[package]] +name = "v_jsonescape" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be8219cc464ba10c48c3231a6871f11d26d831c5c45a47467eea387ea7bb10e8" +dependencies = [ + "buf-min", +] + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "wasi" +version = "0.13.3+wasi-0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +dependencies = [ + "wit-bindgen-rt", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +dependencies = [ + "bumpalo", + "log", + "proc-macro2", + "quote", + "syn 2.0.100", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" +dependencies = [ + "windows-core 0.58.0", + "windows-targets", +] + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-core" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-result", + "windows-strings", + "windows-targets", +] + +[[package]] +name = "windows-implement" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "windows-interface" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "windows-link" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3" + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "wit-bindgen-rt" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags", +] + +[[package]] +name = "yansi-term" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5c30ade05e61656247b2e334a031dfd0cc466fadef865bdcdea8d537951bf1" +dependencies = [ + "winapi", +] + +[[package]] +name = "yarte" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfce1df93f3b16e5272221a559e60bbbaaa71dbc042a43996d223e51a690aab2" +dependencies = [ + "buf-min", + "yarte_derive", + "yarte_helpers", +] + +[[package]] +name = "yarte_codegen" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a79312078b97a195de91a8c1457c2e0d7abd97e6e605f3cdeb01b3c105d2cff" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "yarte_helpers", + "yarte_hir", +] + +[[package]] +name = "yarte_derive" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b296edd7e1a81717b6f794baa2de8dfe89646050847161550b2d963b3ca6fe80" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "v_jsonescape", + "yarte_codegen", + "yarte_helpers", + "yarte_hir", + "yarte_parser", +] + +[[package]] +name = "yarte_helpers" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0d1076f8cee9541ea5ffbecd9102f751252c91f085e7d30a18a3ce805ebd3ee" +dependencies = [ + "buf-min", + "chrono", + "dtoa", + "itoa", + "prettyplease", + "ryu", + "serde", + "serde_json", + "syn 1.0.109", + "toml", + "v_htmlescape", + "v_jsonescape", +] + +[[package]] +name = "yarte_hir" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee42d2f704a3b1d8bc111d47a705d1302a0943d85e4c230f4e8300ee0dde4a6" +dependencies = [ + "derive_more", + "proc-macro2", + "quote", + "syn 1.0.109", + "v_eval", + "v_htmlescape", + "yarte_helpers", + "yarte_parser", +] + +[[package]] +name = "yarte_parser" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "538f72049cf7104e12d5c444048d112cb8fc788a31308afd912442a381ba860c" +dependencies = [ + "annotate-snippets", + "derive_more", + "proc-macro2", + "quote", + "serde", + "syn 1.0.109", + "unicode-xid", + "yarte_helpers", +] + +[[package]] +name = "zerocopy" +version = "0.8.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] From 95d0891f8952bed22f4035c0fd661b2651f42632 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 12:17:11 +0800 Subject: [PATCH 006/260] feat: fortunes --- frameworks/Rust/hyperlane/src/route.rs | 11 +++++++---- frameworks/Rust/hyperlane/src/type.rs | 4 ++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 5742e496791..8be1edeffdf 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -45,16 +45,16 @@ pub async fn queries(controller_data: ControllerData) { pub async fn fortunes(controller_data: ControllerData) { let all_rows: Vec = all_world_row().await.unwrap_or_default(); - let mut fortune_list: Vec = all_rows + let mut fortunes_list: Vec = all_rows .iter() .map(|row| { let id: i32 = row.get(0); let message: i32 = row.get(1); let message: String = message.to_string(); - Fortune::new(id, message) + Fortunes::new(id, message) }) .collect(); - fortune_list.push(Fortune::new( + fortunes_list.push(Fortunes::new( 0, "Additional fortune added at request time.".to_owned(), )); @@ -62,7 +62,10 @@ pub async fn fortunes(controller_data: ControllerData) { let mut handlebars: Handlebars<'_> = Handlebars::new(); let _ = handlebars.register_template_string("fortunes", template); let res: String = handlebars - .render("fortunes", &serde_json::json!({ "fortunes": fortune_list })) + .render( + "fortunes", + &serde_json::json!({ "fortunes": fortunes_list }), + ) .unwrap_or_default(); controller_data .set_response_header(CONTENT_TYPE, TEXT_HTML) diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index 40f7fc68654..c5b7b87c33b 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -22,12 +22,12 @@ impl QueryRow { } #[derive(Serialize)] -pub struct Fortune { +pub struct Fortunes { id: i32, message: String, } -impl Fortune { +impl Fortunes { pub fn new(id: i32, message: String) -> Self { Self { id, message } } From 900c4732560e7b06f3e73deee468e5c043c2345b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 12:47:09 +0800 Subject: [PATCH 007/260] feat: update --- frameworks/Rust/hyperlane/src/db.rs | 41 ++++++++++++++++++--------- frameworks/Rust/hyperlane/src/type.rs | 1 + 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 18e29eea2e0..28e93099f4a 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -133,27 +133,42 @@ pub async fn random_world_row() -> Result> { } return Ok(QueryRow::new(1, 1)); } - pub async fn update_world_rows(times: usize) -> Result, Box> { let db_pool: DbPoolConnection = get_db_connection().await; let connection: DbConnection = db_pool .get() .await .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e)))?; - let mut random_id_list: Vec = Vec::with_capacity(times); - for _ in 0..times { - let random_id: i32 = rand::rng().random_range(1..ROW_LIMIT); + let mut id_list: Vec = Vec::with_capacity(times); + let mut params: Vec> = Vec::with_capacity(times * 2); + for id in 0..times { + let id: i32 = id as i32; let new_random_number: i32 = rand::rng().random_range(1..ROW_LIMIT); - random_id_list.push(QueryRow::new(random_id, new_random_number)); - let query = format!("UPDATE {} SET randomNumber = $1 WHERE id = $2", TABLE_NAME); - let stmt: Statement = connection.prepare(&query).await?; - let params_refs: Vec<&DynToSqlSync> = vec![ - &new_random_number as &DynToSqlSync, - &random_id as &DynToSqlSync, - ]; - connection.execute(&stmt, ¶ms_refs).await?; + id_list.push(QueryRow::new(id, new_random_number)); + params.push(Box::new(new_random_number)); + params.push(Box::new(id)); + } + let mut query: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME); + for i in 0..times { + query.push_str(&format!( + "WHEN ${}::INTEGER THEN ${}::INTEGER ", + i * 2 + 2, + i * 2 + 1 + )); + } + query.push_str("END WHERE id IN ("); + for i in 0..times { + if i > 0 { + query.push_str(", "); + } + query.push_str(&format!("${}::INTEGER", i * 2 + 2)); } - Ok(random_id_list) + query.push(')'); + let stmt: Statement = connection.prepare(&query).await?; + let params_refs: Vec<&DynToSqlSync> = + params.iter().map(|p| p.as_ref() as &DynToSqlSync).collect(); + connection.execute(&stmt, ¶ms_refs).await?; + Ok(id_list) } pub async fn all_world_row() -> Result, Box> { diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index c5b7b87c33b..4c6ffd83561 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -4,6 +4,7 @@ pub type DbPoolConnection = bb8::Pool>; pub type DbConnection<'a> = PooledConnection<'a, PostgresConnectionManager>; pub type Queries = usize; pub type DynToSqlSync = dyn ToSql + Sync; +pub type DynToSqlSyncSend = dyn ToSql + Sync + Send; #[allow(bad_style)] #[derive(Serialize)] From df76bd1a72b76e5030d2d7430f5a0bab551b86ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 13:01:40 +0800 Subject: [PATCH 008/260] feat: update --- frameworks/Rust/hyperlane/src/constant.rs | 1 + frameworks/Rust/hyperlane/src/db.rs | 9 +++------ frameworks/Rust/hyperlane/src/route.rs | 8 +++----- frameworks/Rust/hyperlane/src/type.rs | 4 ++-- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/constant.rs b/frameworks/Rust/hyperlane/src/constant.rs index 2b988574a6c..6c57ee6675b 100644 --- a/frameworks/Rust/hyperlane/src/constant.rs +++ b/frameworks/Rust/hyperlane/src/constant.rs @@ -7,3 +7,4 @@ pub static DATABASE_PORT: usize = 5432; pub static DATABASE_NAME: &str = "hello_world"; pub static TABLE_NAME: &str = "World"; pub static ROW_LIMIT: i32 = 500; +pub static RANDOM_MAX: i32 = 10000; diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 28e93099f4a..e566d08a32f 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -71,7 +71,7 @@ pub async fn insert_records() { let mut rng: rand::prelude::ThreadRng = rand::rng(); let mut values: Vec = Vec::new(); for _ in 0..missing_count { - let random_number: i32 = rng.random_range(1..=10000); + let random_number: i32 = rng.random_range(1..=RANDOM_MAX); values.push(format!("(DEFAULT, {})", random_number)); } let query: String = format!( @@ -143,7 +143,7 @@ pub async fn update_world_rows(times: usize) -> Result, Box> = Vec::with_capacity(times * 2); for id in 0..times { let id: i32 = id as i32; - let new_random_number: i32 = rand::rng().random_range(1..ROW_LIMIT); + let new_random_number: i32 = rand::rng().random_range(1..RANDOM_MAX); id_list.push(QueryRow::new(id, new_random_number)); params.push(Box::new(new_random_number)); params.push(Box::new(id)); @@ -178,10 +178,7 @@ pub async fn all_world_row() -> Result, Box> { .await .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e)))?; let stmt: Statement = connection - .prepare(&format!( - "SELECT id, randomNumber FROM {} ORDER BY randomNumber ASC", - TABLE_NAME - )) + .prepare(&format!("SELECT id, randomNumber FROM {}", TABLE_NAME)) .await?; let rows: Vec = connection.query(&stmt, &[]).await?; return Ok(rows); diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 8be1edeffdf..18013e9e7b3 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -54,6 +54,7 @@ pub async fn fortunes(controller_data: ControllerData) { Fortunes::new(id, message) }) .collect(); + fortunes_list.sort_by(|a, b| a.message.cmp(&b.message)); fortunes_list.push(Fortunes::new( 0, "Additional fortune added at request time.".to_owned(), @@ -62,13 +63,10 @@ pub async fn fortunes(controller_data: ControllerData) { let mut handlebars: Handlebars<'_> = Handlebars::new(); let _ = handlebars.register_template_string("fortunes", template); let res: String = handlebars - .render( - "fortunes", - &serde_json::json!({ "fortunes": fortunes_list }), - ) + .render("fortunes", &json!({ "fortunes": fortunes_list })) .unwrap_or_default(); controller_data - .set_response_header(CONTENT_TYPE, TEXT_HTML) + .set_response_header(CONTENT_TYPE, format!("{}; {}", TEXT_HTML, CHARSET_UTF_8)) .await .set_response_body(res) .await; diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index 4c6ffd83561..c9d9133c54a 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -24,8 +24,8 @@ impl QueryRow { #[derive(Serialize)] pub struct Fortunes { - id: i32, - message: String, + pub id: i32, + pub message: String, } impl Fortunes { From 1d412d6763064fe41ce103dba3d4dc8e5e57334f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 13:13:45 +0800 Subject: [PATCH 009/260] feat: update --- frameworks/Rust/hyperlane/src/db.rs | 9 +++++++++ frameworks/Rust/hyperlane/src/main.rs | 2 +- frameworks/Rust/hyperlane/src/route.rs | 6 ++++++ frameworks/Rust/hyperlane/src/type.rs | 2 ++ frameworks/Rust/hyperlane/src/utils.rs | 16 ++++++++++++++++ 5 files changed, 34 insertions(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index e566d08a32f..4f6dc74c863 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -1,10 +1,12 @@ use crate::*; +#[inline] pub async fn get_db_connection() -> DbPoolConnection { let db_pool: DbPoolConnection = DB.read().await.clone().unwrap(); db_pool } +#[inline] pub async fn create_batabase() { let db_pool: DbPoolConnection = get_db_connection().await; let connection: DbConnection = db_pool.get().await.unwrap(); @@ -31,6 +33,7 @@ pub async fn create_batabase() { println_success!("database `", DATABASE_NAME, "` ready"); } +#[inline] pub async fn create_table() { let db_pool: DbPoolConnection = get_db_connection().await; let connection: DbConnection = db_pool.get().await.unwrap(); @@ -47,6 +50,7 @@ pub async fn create_table() { println_success!("table `", TABLE_NAME, "` ready"); } +#[inline] pub async fn insert_records() { let db_pool: DbPoolConnection = get_db_connection().await; let connection: DbConnection = db_pool.get().await.unwrap(); @@ -86,6 +90,7 @@ pub async fn insert_records() { )); } +#[inline] pub async fn init_db() { let db_url: &str = match option_env!("POSTGRES_URL") { Some(it) => it, @@ -113,6 +118,7 @@ pub async fn init_db() { insert_records().await; } +#[inline] pub async fn random_world_row() -> Result> { let random_id: i32 = rand::rng().random_range(1..ROW_LIMIT); let db_pool: DbPoolConnection = get_db_connection().await; @@ -133,6 +139,8 @@ pub async fn random_world_row() -> Result> { } return Ok(QueryRow::new(1, 1)); } + +#[inline] pub async fn update_world_rows(times: usize) -> Result, Box> { let db_pool: DbPoolConnection = get_db_connection().await; let connection: DbConnection = db_pool @@ -171,6 +179,7 @@ pub async fn update_world_rows(times: usize) -> Result, Box Result, Box> { let db_pool: DbPoolConnection = get_db_connection().await; let connection: DbConnection = db_pool diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 605f270a352..2e5221eda66 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -13,7 +13,7 @@ pub(crate) use bb8_postgres::PostgresConnectionManager; pub(crate) use chrono::{DateTime, Utc}; pub(crate) use constant::*; pub(crate) use db::*; -pub(crate) use handlebars::Handlebars; +pub(crate) use handlebars::{Context, Handlebars, Helper, HelperResult, RenderContext}; pub(crate) use hyperlane::{ once_cell::sync::Lazy, serde::*, diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 18013e9e7b3..8695bca049e 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -1,5 +1,6 @@ use crate::*; +#[inline] pub async fn json(controller_data: ControllerData) { let json: serde_json::Value = json!({ "message": RESPONSEDATA @@ -9,6 +10,7 @@ pub async fn json(controller_data: ControllerData) { .await; } +#[inline] pub async fn plaintext(controller_data: ControllerData) { let _ = controller_data .set_response_header(CONTENT_TYPE, TEXT_PLAIN) @@ -17,6 +19,7 @@ pub async fn plaintext(controller_data: ControllerData) { .await; } +#[inline] pub async fn db(controller_data: ControllerData) { let query_row: QueryRow = random_world_row().await.unwrap(); let _ = controller_data @@ -24,6 +27,7 @@ pub async fn db(controller_data: ControllerData) { .await; } +#[inline] pub async fn queries(controller_data: ControllerData) { let queries: Queries = controller_data .get_request_query("q") @@ -43,6 +47,7 @@ pub async fn queries(controller_data: ControllerData) { .await; } +#[inline] pub async fn fortunes(controller_data: ControllerData) { let all_rows: Vec = all_world_row().await.unwrap_or_default(); let mut fortunes_list: Vec = all_rows @@ -61,6 +66,7 @@ pub async fn fortunes(controller_data: ControllerData) { )); let template: &str = include_str!("../templates/fortune.hbs"); let mut handlebars: Handlebars<'_> = Handlebars::new(); + handlebars.register_helper("raw", Box::new(raw_helper)); let _ = handlebars.register_template_string("fortunes", template); let res: String = handlebars .render("fortunes", &json!({ "fortunes": fortunes_list })) diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index c9d9133c54a..d076f97131e 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -14,6 +14,7 @@ pub struct QueryRow { } impl QueryRow { + #[inline] pub fn new(id: i32, random_number: i32) -> Self { Self { id, @@ -29,6 +30,7 @@ pub struct Fortunes { } impl Fortunes { + #[inline] pub fn new(id: i32, message: String) -> Self { Self { id, message } } diff --git a/frameworks/Rust/hyperlane/src/utils.rs b/frameworks/Rust/hyperlane/src/utils.rs index c189f0be8db..a16e7db6379 100644 --- a/frameworks/Rust/hyperlane/src/utils.rs +++ b/frameworks/Rust/hyperlane/src/utils.rs @@ -1,6 +1,22 @@ use crate::*; +#[inline] pub fn generate_rfc1123_timestamp() -> String { let now: DateTime = SystemTime::now().into(); now.format("%a, %d %b %Y %H:%M:%S GMT").to_string() } + +#[inline] +pub fn raw_helper( + h: &Helper, + _: &Handlebars, + _: &Context, + _: &mut RenderContext, + out: &mut dyn handlebars::Output, +) -> HelperResult { + if let Some(param) = h.param(0) { + let value = param.value().as_str().unwrap_or_default(); + out.write(value)?; + } + Ok(()) +} From 14c8eaf8bd4b89d38a48bbdd4fbd52b64df172a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 13:38:05 +0800 Subject: [PATCH 010/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 191 +----------------------- frameworks/Rust/hyperlane/Cargo.toml | 1 - frameworks/Rust/hyperlane/src/main.rs | 11 +- frameworks/Rust/hyperlane/src/route.rs | 18 +-- frameworks/Rust/hyperlane/src/server.rs | 3 +- frameworks/Rust/hyperlane/src/type.rs | 28 +++- frameworks/Rust/hyperlane/src/utils.rs | 15 -- 7 files changed, 46 insertions(+), 221 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 87ad658c34f..db3b2edcd76 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -266,72 +266,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "darling" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn", -] - -[[package]] -name = "darling_macro" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" -dependencies = [ - "darling_core", - "quote", - "syn", -] - -[[package]] -name = "derive_builder" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" -dependencies = [ - "derive_builder_macro", -] - -[[package]] -name = "derive_builder_core" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "derive_builder_macro" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" -dependencies = [ - "derive_builder_core", - "syn", -] - [[package]] name = "digest" version = "0.10.7" @@ -388,12 +322,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - [[package]] name = "form_urlencoded" version = "1.2.1" @@ -543,22 +471,6 @@ dependencies = [ "serde", ] -[[package]] -name = "handlebars" -version = "6.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d752747ddabc4c1a70dd28e72f2e3c218a816773e0d7faf67433f1acfa6cba7c" -dependencies = [ - "derive_builder", - "log", - "num-order", - "pest", - "pest_derive", - "serde", - "serde_json", - "thiserror 2.0.12", -] - [[package]] name = "hashbrown" version = "0.14.5" @@ -671,7 +583,6 @@ dependencies = [ "bb8", "bb8-postgres", "chrono", - "handlebars", "hyperlane", "rand", "serde", @@ -819,12 +730,6 @@ dependencies = [ "syn", ] -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - [[package]] name = "idna" version = "1.0.3" @@ -937,21 +842,6 @@ dependencies = [ "windows-sys", ] -[[package]] -name = "num-modular" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17bb261bf36fa7d83f4c294f834e91256769097b3cb505d44831e0a179ac647f" - -[[package]] -name = "num-order" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "537b596b97c40fcf8056d153049eb22f481c17ebce72a513ec9286e4986d1bb6" -dependencies = [ - "num-modular", -] - [[package]] name = "num-traits" version = "0.2.19" @@ -1005,51 +895,6 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" -[[package]] -name = "pest" -version = "2.7.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" -dependencies = [ - "memchr", - "thiserror 2.0.12", - "ucd-trie", -] - -[[package]] -name = "pest_derive" -version = "2.7.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "816518421cfc6887a0d62bf441b6ffb4536fcc926395a69e1a85852d4363f57e" -dependencies = [ - "pest", - "pest_generator", -] - -[[package]] -name = "pest_generator" -version = "2.7.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d1396fd3a870fc7838768d171b4616d5c91f6cc25e377b673d714567d99377b" -dependencies = [ - "pest", - "pest_meta", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "pest_meta" -version = "2.7.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1e58089ea25d717bfd31fb534e4f3afcc2cc569c70de3e239778991ea3b7dea" -dependencies = [ - "once_cell", - "pest", - "sha2", -] - [[package]] name = "phf" version = "0.11.3" @@ -1257,7 +1102,7 @@ checksum = "fb3aa78ecda1ebc9ec9847d5d3aba7d618823446a049ba2491940506da6e2782" dependencies = [ "log", "serde", - "thiserror 1.0.69", + "thiserror", "xml-rs", ] @@ -1406,12 +1251,6 @@ dependencies = [ "unicode-properties", ] -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - [[package]] name = "subtle" version = "2.6.1" @@ -1446,16 +1285,7 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl 1.0.69", -] - -[[package]] -name = "thiserror" -version = "2.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" -dependencies = [ - "thiserror-impl 2.0.12", + "thiserror-impl", ] [[package]] @@ -1469,17 +1299,6 @@ dependencies = [ "syn", ] -[[package]] -name = "thiserror-impl" -version = "2.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "tinystr" version = "0.7.6" @@ -1579,12 +1398,6 @@ version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" -[[package]] -name = "ucd-trie" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" - [[package]] name = "unicode-bidi" version = "0.3.18" diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 8865e6f5314..fee51c42aef 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -25,7 +25,6 @@ rand = "0.9.0" tokio-postgres = { version = "0.7.13", features = ["with-uuid-0_8"] } chrono = "0.4.40" serde = "1.0.219" -handlebars = "6.3.1" [profile.dev] incremental = false diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 2e5221eda66..58bacef9d24 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -13,7 +13,6 @@ pub(crate) use bb8_postgres::PostgresConnectionManager; pub(crate) use chrono::{DateTime, Utc}; pub(crate) use constant::*; pub(crate) use db::*; -pub(crate) use handlebars::{Context, Handlebars, Helper, HelperResult, RenderContext}; pub(crate) use hyperlane::{ once_cell::sync::Lazy, serde::*, @@ -28,9 +27,13 @@ pub(crate) use request_middleware::*; pub(crate) use response_middleware::*; pub(crate) use route::*; pub(crate) use server::*; -pub(crate) use std::error::Error; -pub(crate) use std::time::SystemTime; -pub(crate) use std::{io, sync::Arc}; +pub(crate) use std::{ + error::Error, + fmt::{self, Write}, + io, + sync::Arc, + time::SystemTime, +}; pub(crate) use tokio_postgres::{types::ToSql, Config, NoTls, Row, Statement}; pub(crate) use utils::*; diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 8695bca049e..5b0b3f32d68 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -49,7 +49,12 @@ pub async fn queries(controller_data: ControllerData) { #[inline] pub async fn fortunes(controller_data: ControllerData) { - let all_rows: Vec = all_world_row().await.unwrap_or_default(); + let mut all_rows: Vec = all_world_row().await.unwrap_or_default(); + all_rows.sort_by(|a, b| { + let message_a: i32 = a.get(1); + let message_b: i32 = b.get(1); + message_a.cmp(&message_b) + }); let mut fortunes_list: Vec = all_rows .iter() .map(|row| { @@ -59,18 +64,12 @@ pub async fn fortunes(controller_data: ControllerData) { Fortunes::new(id, message) }) .collect(); - fortunes_list.sort_by(|a, b| a.message.cmp(&b.message)); fortunes_list.push(Fortunes::new( 0, "Additional fortune added at request time.".to_owned(), )); - let template: &str = include_str!("../templates/fortune.hbs"); - let mut handlebars: Handlebars<'_> = Handlebars::new(); - handlebars.register_helper("raw", Box::new(raw_helper)); - let _ = handlebars.register_template_string("fortunes", template); - let res: String = handlebars - .render("fortunes", &json!({ "fortunes": fortunes_list })) - .unwrap_or_default(); + let mut res: String = String::with_capacity(2048); + let _ = write!(&mut res, "{}", FortunesTemplate::new(fortunes_list)); controller_data .set_response_header(CONTENT_TYPE, format!("{}; {}", TEXT_HTML, CHARSET_UTF_8)) .await @@ -78,6 +77,7 @@ pub async fn fortunes(controller_data: ControllerData) { .await; } +#[inline] pub async fn updates(controller_data: ControllerData) { let queries: Queries = controller_data .get_request_query("q") diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index f73eaf4fd4a..dc9d450de75 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -1,12 +1,13 @@ use crate::*; +#[inline] pub async fn run_server() { let mut server: Server = Server::new(); server.host("0.0.0.0").await; server.port(8080).await; server.log_dir("./logs").await; server.log_interval_millis(1_000_000_000).await; - server.disable_print().await; + // server.disable_print().await; server.route("/json", json).await; server.route("/plaintext", plaintext).await; server.route("/db", db).await; diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index d076f97131e..0f698428e18 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -9,8 +9,8 @@ pub type DynToSqlSyncSend = dyn ToSql + Sync + Send; #[allow(bad_style)] #[derive(Serialize)] pub struct QueryRow { - id: i32, - randomNumber: i32, + pub id: i32, + pub randomNumber: i32, } impl QueryRow { @@ -35,3 +35,27 @@ impl Fortunes { Self { id, message } } } + +pub struct FortunesTemplate { + pub fortunes_list: Vec, +} + +impl FortunesTemplate { + pub fn new(fortunes_list: Vec) -> Self { + Self { fortunes_list } + } +} + +impl fmt::Display for FortunesTemplate { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "Fortunes")?; + for fortunes in &self.fortunes_list { + write!( + f, + "", + fortunes.id, fortunes.message + )?; + } + write!(f, "
idmessage
{}{}
") + } +} diff --git a/frameworks/Rust/hyperlane/src/utils.rs b/frameworks/Rust/hyperlane/src/utils.rs index a16e7db6379..ea37364a8bc 100644 --- a/frameworks/Rust/hyperlane/src/utils.rs +++ b/frameworks/Rust/hyperlane/src/utils.rs @@ -5,18 +5,3 @@ pub fn generate_rfc1123_timestamp() -> String { let now: DateTime = SystemTime::now().into(); now.format("%a, %d %b %Y %H:%M:%S GMT").to_string() } - -#[inline] -pub fn raw_helper( - h: &Helper, - _: &Handlebars, - _: &Context, - _: &mut RenderContext, - out: &mut dyn handlebars::Output, -) -> HelperResult { - if let Some(param) = h.param(0) { - let value = param.value().as_str().unwrap_or_default(); - out.write(value)?; - } - Ok(()) -} From 25a66350b049b440bcc2bb828128731fc9c8fb32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 13:42:32 +0800 Subject: [PATCH 011/260] feat: fortunes --- frameworks/Rust/hyperlane/src/type.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index 0f698428e18..1e0ad656896 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -50,10 +50,11 @@ impl fmt::Display for FortunesTemplate { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "Fortunes")?; for fortunes in &self.fortunes_list { + let escaped_message: String = fortunes.message.escape_default().collect::(); write!( f, "", - fortunes.id, fortunes.message + fortunes.id, escaped_message )?; } write!(f, "
idmessage
{}{}
") From 6b51ccac4b38c58ffa304225858b3631081b6658 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 13:47:49 +0800 Subject: [PATCH 012/260] feat: fortunes --- frameworks/Rust/hyperlane/Cargo.lock | 16 ++++++++++++++++ frameworks/Rust/hyperlane/Cargo.toml | 1 + frameworks/Rust/hyperlane/src/main.rs | 2 ++ frameworks/Rust/hyperlane/src/type.rs | 4 ++-- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index db3b2edcd76..8acf05f5e0f 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -496,6 +496,15 @@ dependencies = [ "digest", ] +[[package]] +name = "html-escape" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d1ad449764d627e22bfd7cd5e8868264fc9236e07c752972b4080cd351cb476" +dependencies = [ + "utf8-width", +] + [[package]] name = "http-compress" version = "2.3.5" @@ -583,6 +592,7 @@ dependencies = [ "bb8", "bb8-postgres", "chrono", + "html-escape", "hyperlane", "rand", "serde", @@ -1442,6 +1452,12 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" +[[package]] +name = "utf8-width" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3" + [[package]] name = "utf8_iter" version = "1.0.4" diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index fee51c42aef..ac9b4adabae 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -25,6 +25,7 @@ rand = "0.9.0" tokio-postgres = { version = "0.7.13", features = ["with-uuid-0_8"] } chrono = "0.4.40" serde = "1.0.219" +html-escape = "0.2.13" [profile.dev] incremental = false diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 58bacef9d24..ad136b60b3e 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -13,6 +13,7 @@ pub(crate) use bb8_postgres::PostgresConnectionManager; pub(crate) use chrono::{DateTime, Utc}; pub(crate) use constant::*; pub(crate) use db::*; +pub(crate) use html_escape::decode_html_entities; pub(crate) use hyperlane::{ once_cell::sync::Lazy, serde::*, @@ -28,6 +29,7 @@ pub(crate) use response_middleware::*; pub(crate) use route::*; pub(crate) use server::*; pub(crate) use std::{ + borrow::Cow, error::Error, fmt::{self, Write}, io, diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index 1e0ad656896..4e181bdbc8c 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -50,11 +50,11 @@ impl fmt::Display for FortunesTemplate { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "Fortunes")?; for fortunes in &self.fortunes_list { - let escaped_message: String = fortunes.message.escape_default().collect::(); + let decoded_message: Cow<'_, str> = decode_html_entities(&fortunes.message); write!( f, "", - fortunes.id, escaped_message + fortunes.id, decoded_message )?; } write!(f, "
idmessage
{}{}
") From ff93dffe95550d598ed737a41c559dd095b84221 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 13:56:28 +0800 Subject: [PATCH 013/260] feat: fortunes --- frameworks/Rust/hyperlane/src/db.rs | 19 ++++++++++++++----- frameworks/Rust/hyperlane/src/server.rs | 2 +- frameworks/Rust/hyperlane/src/type.rs | 2 +- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 4f6dc74c863..72f255b5018 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -149,12 +149,21 @@ pub async fn update_world_rows(times: usize) -> Result, Box = Vec::with_capacity(times); let mut params: Vec> = Vec::with_capacity(times * 2); - for id in 0..times { - let id: i32 = id as i32; + let mut cnt: usize = 0; + loop { + if cnt >= times { + break; + } let new_random_number: i32 = rand::rng().random_range(1..RANDOM_MAX); - id_list.push(QueryRow::new(id, new_random_number)); - params.push(Box::new(new_random_number)); - params.push(Box::new(id)); + if let Ok(row) = random_world_row().await { + let id: i32 = row.id; + id_list.push(QueryRow::new(id, new_random_number)); + params.push(Box::new(new_random_number)); + params.push(Box::new(id)); + cnt += 1; + } else { + continue; + } } let mut query: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME); for i in 0..times { diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index dc9d450de75..144330bad53 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -7,7 +7,7 @@ pub async fn run_server() { server.port(8080).await; server.log_dir("./logs").await; server.log_interval_millis(1_000_000_000).await; - // server.disable_print().await; + server.disable_print().await; server.route("/json", json).await; server.route("/plaintext", plaintext).await; server.route("/db", db).await; diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index 4e181bdbc8c..6158c7d9ae1 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -7,7 +7,7 @@ pub type DynToSqlSync = dyn ToSql + Sync; pub type DynToSqlSyncSend = dyn ToSql + Sync + Send; #[allow(bad_style)] -#[derive(Serialize)] +#[derive(Serialize, Default)] pub struct QueryRow { pub id: i32, pub randomNumber: i32, From b326d96feb82559e49a062cb7f6edf951a50fb1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 14:09:56 +0800 Subject: [PATCH 014/260] feat: fortunes --- frameworks/Rust/hyperlane/src/request_middleware.rs | 1 + frameworks/Rust/hyperlane/src/response_middleware.rs | 1 + frameworks/Rust/hyperlane/src/route.rs | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/request_middleware.rs b/frameworks/Rust/hyperlane/src/request_middleware.rs index 28a2676fccd..e609a8f3821 100644 --- a/frameworks/Rust/hyperlane/src/request_middleware.rs +++ b/frameworks/Rust/hyperlane/src/request_middleware.rs @@ -1,5 +1,6 @@ use crate::*; +#[inline] pub async fn request(controller_data: ControllerData) { let _ = controller_data .set_response_header(CONNECTION, CONNECTION_KEEP_ALIVE) diff --git a/frameworks/Rust/hyperlane/src/response_middleware.rs b/frameworks/Rust/hyperlane/src/response_middleware.rs index 81fb0c368e9..dcf3b096b10 100644 --- a/frameworks/Rust/hyperlane/src/response_middleware.rs +++ b/frameworks/Rust/hyperlane/src/response_middleware.rs @@ -1,5 +1,6 @@ use crate::*; +#[inline] pub async fn response(controller_data: ControllerData) { let _ = controller_data.send().await; } diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 5b0b3f32d68..da4771ddae9 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -68,7 +68,7 @@ pub async fn fortunes(controller_data: ControllerData) { 0, "Additional fortune added at request time.".to_owned(), )); - let mut res: String = String::with_capacity(2048); + let mut res: String = String::with_capacity(20480); let _ = write!(&mut res, "{}", FortunesTemplate::new(fortunes_list)); controller_data .set_response_header(CONTENT_TYPE, format!("{}; {}", TEXT_HTML, CHARSET_UTF_8)) From ff1088881ec3b5a3bd85824fe60494c86d06ebcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 14:33:40 +0800 Subject: [PATCH 015/260] feat: fortunes --- frameworks/Rust/hyperlane/src/db.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 72f255b5018..57b20630d0c 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -108,7 +108,12 @@ pub async fn init_db() { let config: Config = db_url.parse::().unwrap(); let db_manager: PostgresConnectionManager = PostgresConnectionManager::new(config, NoTls); - let db_pool: DbPoolConnection = Pool::builder().build(db_manager).await.unwrap(); + let db_pool: DbPoolConnection = Pool::builder() + .max_size(1_000) + .max_lifetime(Some(std::time::Duration::from_secs(u64::MAX))) + .build(db_manager) + .await + .unwrap(); { let mut db_pool_lock: RwLockWriteGuard<'_, Option> = DB.write().await; *db_pool_lock = Some(db_pool.clone()); From 6323de957e8649860e04d7bf6b50c8a40ce4b560 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 14:51:29 +0800 Subject: [PATCH 016/260] feat: fortunes --- frameworks/Rust/hyperlane/src/db.rs | 8 ++++++++ frameworks/Rust/hyperlane/src/main.rs | 2 +- frameworks/Rust/hyperlane/src/route.rs | 12 ++++++------ frameworks/Rust/hyperlane/src/type.rs | 2 +- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 57b20630d0c..8e493d7d269 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -155,6 +155,7 @@ pub async fn update_world_rows(times: usize) -> Result, Box = Vec::with_capacity(times); let mut params: Vec> = Vec::with_capacity(times * 2); let mut cnt: usize = 0; + let mut map: Vec = vec![false; ROW_LIMIT as usize]; loop { if cnt >= times { break; @@ -162,6 +163,13 @@ pub async fn update_world_rows(times: usize) -> Result, Box= ROW_LIMIT as usize { + continue; + } + if map[id as usize] { + continue; + } + map[id as usize] = true; id_list.push(QueryRow::new(id, new_random_number)); params.push(Box::new(new_random_number)); params.push(Box::new(id)); diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index ad136b60b3e..166e7d7c33e 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -13,7 +13,7 @@ pub(crate) use bb8_postgres::PostgresConnectionManager; pub(crate) use chrono::{DateTime, Utc}; pub(crate) use constant::*; pub(crate) use db::*; -pub(crate) use html_escape::decode_html_entities; +pub(crate) use html_escape::encode_text; pub(crate) use hyperlane::{ once_cell::sync::Lazy, serde::*, diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index da4771ddae9..2f68864ae4a 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -49,12 +49,7 @@ pub async fn queries(controller_data: ControllerData) { #[inline] pub async fn fortunes(controller_data: ControllerData) { - let mut all_rows: Vec = all_world_row().await.unwrap_or_default(); - all_rows.sort_by(|a, b| { - let message_a: i32 = a.get(1); - let message_b: i32 = b.get(1); - message_a.cmp(&message_b) - }); + let all_rows: Vec = all_world_row().await.unwrap_or_default(); let mut fortunes_list: Vec = all_rows .iter() .map(|row| { @@ -64,6 +59,11 @@ pub async fn fortunes(controller_data: ControllerData) { Fortunes::new(id, message) }) .collect(); + fortunes_list.sort_by(|a, b| { + let message_a: &String = &a.message; + let message_b: &String = &b.message; + message_a.cmp(message_b) + }); fortunes_list.push(Fortunes::new( 0, "Additional fortune added at request time.".to_owned(), diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index 6158c7d9ae1..3c2db3b2019 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -50,7 +50,7 @@ impl fmt::Display for FortunesTemplate { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "Fortunes")?; for fortunes in &self.fortunes_list { - let decoded_message: Cow<'_, str> = decode_html_entities(&fortunes.message); + let decoded_message: Cow<'_, str> = encode_text(&fortunes.message); write!( f, "", From 90f95a85b64a4910b9f97eed4d5599765e9ca2cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 16:58:16 +0800 Subject: [PATCH 017/260] feat: update --- frameworks/Rust/hyperlane/src/constant.rs | 5 +- frameworks/Rust/hyperlane/src/db.rs | 101 +++++++++------------- frameworks/Rust/hyperlane/src/main.rs | 4 +- frameworks/Rust/hyperlane/src/route.rs | 5 +- frameworks/Rust/hyperlane/src/server.rs | 1 - frameworks/Rust/hyperlane/src/type.rs | 4 +- 6 files changed, 51 insertions(+), 69 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/constant.rs b/frameworks/Rust/hyperlane/src/constant.rs index 6c57ee6675b..dd8c41803a5 100644 --- a/frameworks/Rust/hyperlane/src/constant.rs +++ b/frameworks/Rust/hyperlane/src/constant.rs @@ -3,8 +3,9 @@ pub static DATABASE_TYPE: &str = "postgres"; pub static DATABASE_HOST: &str = "tfb-database"; pub static DATABASE_USER_NAME: &str = "benchmarkdbuser"; pub static DATABASE_USER_PASSWORD: &str = "benchmarkdbpass"; -pub static DATABASE_PORT: usize = 5432; +pub static DATABASE_PORT: usize = 5_432; pub static DATABASE_NAME: &str = "hello_world"; pub static TABLE_NAME: &str = "World"; pub static ROW_LIMIT: i32 = 500; -pub static RANDOM_MAX: i32 = 10000; +pub static RANDOM_MAX: i32 = 10_000; +pub static DB_POOL_SIZE: u32 = 10_000; diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 8e493d7d269..22834142cff 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -19,18 +19,11 @@ pub async fn create_batabase() { .unwrap() .get(0); if !db_exists { - println_warning!( - "database `", - DATABASE_NAME, - "` not found. Creating database..." - ); connection .batch_execute(&format!("CREATE DATABASE {};", DATABASE_NAME)) .await .unwrap(); - println_success!("database `", DATABASE_NAME, "` created successfully"); } - println_success!("database `", DATABASE_NAME, "` ready"); } #[inline] @@ -47,7 +40,6 @@ pub async fn create_table() { )) .await .unwrap(); - println_success!("table `", TABLE_NAME, "` ready"); } #[inline] @@ -61,17 +53,9 @@ pub async fn insert_records() { let count: i64 = row.get(0); let limit: i64 = ROW_LIMIT as i64; if count >= limit { - println_warning!(format!( - "table '{}' already has {} records. No need to insert.", - TABLE_NAME, count - )); return; } let missing_count: i64 = limit - count; - println_warning!(format!( - "table '{}' has {} records. Inserting {} missing records...", - TABLE_NAME, count, missing_count - )); let mut rng: rand::prelude::ThreadRng = rand::rng(); let mut values: Vec = Vec::new(); for _ in 0..missing_count { @@ -84,14 +68,21 @@ pub async fn insert_records() { values.join(",") ); connection.batch_execute(&query).await.unwrap(); - println_success!(format!( - "successfully inserted {} missing records into '{}' table.", - TABLE_NAME, missing_count - )); } #[inline] pub async fn init_db() { + { + let mut db_pool_lock: RwLockWriteGuard<'_, Option> = DB.write().await; + *db_pool_lock = Some(connection_db().await); + } + create_batabase().await; + create_table().await; + insert_records().await; +} + +#[inline] +pub async fn connection_db() -> DbPoolConnection { let db_url: &str = match option_env!("POSTGRES_URL") { Some(it) => it, _ => &format!( @@ -104,29 +95,21 @@ pub async fn init_db() { DATABASE_NAME ), }; - println_warning!("db url: ", db_url); let config: Config = db_url.parse::().unwrap(); let db_manager: PostgresConnectionManager = PostgresConnectionManager::new(config, NoTls); let db_pool: DbPoolConnection = Pool::builder() - .max_size(1_000) - .max_lifetime(Some(std::time::Duration::from_secs(u64::MAX))) + .max_size(DB_POOL_SIZE) + .max_lifetime(Some(Duration::from_secs(u64::MAX))) .build(db_manager) .await .unwrap(); - { - let mut db_pool_lock: RwLockWriteGuard<'_, Option> = DB.write().await; - *db_pool_lock = Some(db_pool.clone()); - } - create_batabase().await; - create_table().await; - insert_records().await; + db_pool } #[inline] -pub async fn random_world_row() -> Result> { +pub async fn random_world_row(db_pool: &DbPoolConnection) -> Result> { let random_id: i32 = rand::rng().random_range(1..ROW_LIMIT); - let db_pool: DbPoolConnection = get_db_connection().await; let connection: DbConnection = db_pool .get() .await @@ -146,40 +129,24 @@ pub async fn random_world_row() -> Result> { } #[inline] -pub async fn update_world_rows(times: usize) -> Result, Box> { +pub async fn update_world_rows(limit: usize) -> Result, Box> { let db_pool: DbPoolConnection = get_db_connection().await; let connection: DbConnection = db_pool .get() .await .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e)))?; - let mut id_list: Vec = Vec::with_capacity(times); - let mut params: Vec> = Vec::with_capacity(times * 2); - let mut cnt: usize = 0; - let mut map: Vec = vec![false; ROW_LIMIT as usize]; - loop { - if cnt >= times { - break; - } + let mut id_list: Vec = Vec::with_capacity(limit); + let mut params: Vec> = Vec::with_capacity(limit * 2); + let rows: Vec = get_some_row_id(limit, &db_pool).await.unwrap_or_default(); + for row in rows { let new_random_number: i32 = rand::rng().random_range(1..RANDOM_MAX); - if let Ok(row) = random_world_row().await { - let id: i32 = row.id; - if (id as usize) >= ROW_LIMIT as usize { - continue; - } - if map[id as usize] { - continue; - } - map[id as usize] = true; - id_list.push(QueryRow::new(id, new_random_number)); - params.push(Box::new(new_random_number)); - params.push(Box::new(id)); - cnt += 1; - } else { - continue; - } + let id: i32 = row.get(0); + id_list.push(QueryRow::new(id, new_random_number)); + params.push(Box::new(new_random_number)); + params.push(Box::new(id)); } let mut query: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME); - for i in 0..times { + for i in 0..limit { query.push_str(&format!( "WHEN ${}::INTEGER THEN ${}::INTEGER ", i * 2 + 2, @@ -187,7 +154,7 @@ pub async fn update_world_rows(times: usize) -> Result, Box 0 { query.push_str(", "); } @@ -214,3 +181,19 @@ pub async fn all_world_row() -> Result, Box> { let rows: Vec = connection.query(&stmt, &[]).await?; return Ok(rows); } + +#[inline] +pub async fn get_some_row_id( + limit: usize, + db_pool: &DbPoolConnection, +) -> Result, Box> { + let connection: DbConnection = db_pool + .get() + .await + .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e)))?; + let stmt: Statement = connection + .prepare(&format!("SELECT id FROM {} LIMIT {}", TABLE_NAME, limit)) + .await?; + let rows: Vec = connection.query(&stmt, &[]).await?; + return Ok(rows); +} diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 166e7d7c33e..91b5f4814f8 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -34,6 +34,7 @@ pub(crate) use std::{ fmt::{self, Write}, io, sync::Arc, + time::Duration, time::SystemTime, }; pub(crate) use tokio_postgres::{types::ToSql, Config, NoTls, Row, Statement}; @@ -41,9 +42,6 @@ pub(crate) use utils::*; #[tokio::main] async fn main() { - println_warning!("start connect db"); init_db().await; - println_success!("connect db finish"); - println_warning!("start init server"); run_server().await; } diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 2f68864ae4a..1012d509b70 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -21,7 +21,7 @@ pub async fn plaintext(controller_data: ControllerData) { #[inline] pub async fn db(controller_data: ControllerData) { - let query_row: QueryRow = random_world_row().await.unwrap(); + let query_row: QueryRow = random_world_row(&get_db_connection().await).await.unwrap(); let _ = controller_data .set_response_body(serde_json::to_string(&query_row).unwrap_or_default()) .await; @@ -37,8 +37,9 @@ pub async fn queries(controller_data: ControllerData) { .min(ROW_LIMIT as Queries) .max(1); let mut data: Vec = Vec::with_capacity(queries); + let db_pool: DbPoolConnection = get_db_connection().await; for _ in 0..queries { - let _ = random_world_row().await.map(|row| { + let _ = random_world_row(&db_pool).await.map(|row| { data.push(row); }); } diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 144330bad53..20ec4d01a2f 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -16,6 +16,5 @@ pub async fn run_server() { server.route("/updates", updates).await; server.request_middleware(request).await; server.response_middleware(response).await; - println_success!("server initialization completed"); server.listen().await; } diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index 3c2db3b2019..14ede0b3dc4 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -1,10 +1,10 @@ use crate::*; -pub type DbPoolConnection = bb8::Pool>; +pub type DbPoolConnection = Pool>; pub type DbConnection<'a> = PooledConnection<'a, PostgresConnectionManager>; pub type Queries = usize; pub type DynToSqlSync = dyn ToSql + Sync; -pub type DynToSqlSyncSend = dyn ToSql + Sync + Send; +pub type DynToSqlSyncSend = dyn ToSql + Sync + Send + Sync; #[allow(bad_style)] #[derive(Serialize, Default)] From f8c80dd68c4b41e809a802d0305dd2289e6997e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 17:11:10 +0800 Subject: [PATCH 018/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 16 ---------------- frameworks/Rust/hyperlane/Cargo.toml | 1 - frameworks/Rust/hyperlane/src/constant.rs | 2 +- frameworks/Rust/hyperlane/src/main.rs | 2 -- frameworks/Rust/hyperlane/src/type.rs | 2 +- frameworks/Rust/hyperlane/src/utils.rs | 7 +++++++ 6 files changed, 9 insertions(+), 21 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 8acf05f5e0f..db3b2edcd76 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -496,15 +496,6 @@ dependencies = [ "digest", ] -[[package]] -name = "html-escape" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d1ad449764d627e22bfd7cd5e8868264fc9236e07c752972b4080cd351cb476" -dependencies = [ - "utf8-width", -] - [[package]] name = "http-compress" version = "2.3.5" @@ -592,7 +583,6 @@ dependencies = [ "bb8", "bb8-postgres", "chrono", - "html-escape", "hyperlane", "rand", "serde", @@ -1452,12 +1442,6 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" -[[package]] -name = "utf8-width" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3" - [[package]] name = "utf8_iter" version = "1.0.4" diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index ac9b4adabae..fee51c42aef 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -25,7 +25,6 @@ rand = "0.9.0" tokio-postgres = { version = "0.7.13", features = ["with-uuid-0_8"] } chrono = "0.4.40" serde = "1.0.219" -html-escape = "0.2.13" [profile.dev] incremental = false diff --git a/frameworks/Rust/hyperlane/src/constant.rs b/frameworks/Rust/hyperlane/src/constant.rs index dd8c41803a5..656e74c723f 100644 --- a/frameworks/Rust/hyperlane/src/constant.rs +++ b/frameworks/Rust/hyperlane/src/constant.rs @@ -8,4 +8,4 @@ pub static DATABASE_NAME: &str = "hello_world"; pub static TABLE_NAME: &str = "World"; pub static ROW_LIMIT: i32 = 500; pub static RANDOM_MAX: i32 = 10_000; -pub static DB_POOL_SIZE: u32 = 10_000; +pub static DB_POOL_SIZE: u32 = 1000; diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 91b5f4814f8..10394b7f9ab 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -13,7 +13,6 @@ pub(crate) use bb8_postgres::PostgresConnectionManager; pub(crate) use chrono::{DateTime, Utc}; pub(crate) use constant::*; pub(crate) use db::*; -pub(crate) use html_escape::encode_text; pub(crate) use hyperlane::{ once_cell::sync::Lazy, serde::*, @@ -29,7 +28,6 @@ pub(crate) use response_middleware::*; pub(crate) use route::*; pub(crate) use server::*; pub(crate) use std::{ - borrow::Cow, error::Error, fmt::{self, Write}, io, diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index 14ede0b3dc4..62f035875b5 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -50,7 +50,7 @@ impl fmt::Display for FortunesTemplate { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "Fortunes
idmessage
{}{}
")?; for fortunes in &self.fortunes_list { - let decoded_message: Cow<'_, str> = encode_text(&fortunes.message); + let decoded_message = replace_html_entities(&fortunes.message); write!( f, "", diff --git a/frameworks/Rust/hyperlane/src/utils.rs b/frameworks/Rust/hyperlane/src/utils.rs index ea37364a8bc..0aec0bcb8c0 100644 --- a/frameworks/Rust/hyperlane/src/utils.rs +++ b/frameworks/Rust/hyperlane/src/utils.rs @@ -5,3 +5,10 @@ pub fn generate_rfc1123_timestamp() -> String { let now: DateTime = SystemTime::now().into(); now.format("%a, %d %b %Y %H:%M:%S GMT").to_string() } +#[inline] +pub fn replace_html_entities(input: &str) -> String { + input + .replace("<", "<") + .replace(">", ">") + .replace(""", "\"") +} From 88a5af343ddb6e0ec6876433547e0435ecda1ac4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 17:39:32 +0800 Subject: [PATCH 019/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 16 ++++++++++++++++ frameworks/Rust/hyperlane/Cargo.toml | 4 ++++ frameworks/Rust/hyperlane/src/db.rs | 12 +++++++++--- frameworks/Rust/hyperlane/src/main.rs | 2 ++ frameworks/Rust/hyperlane/src/route.rs | 8 ++++---- frameworks/Rust/hyperlane/src/type.rs | 2 +- frameworks/Rust/hyperlane/src/utils.rs | 7 ------- 7 files changed, 36 insertions(+), 15 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index db3b2edcd76..8acf05f5e0f 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -496,6 +496,15 @@ dependencies = [ "digest", ] +[[package]] +name = "html-escape" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d1ad449764d627e22bfd7cd5e8868264fc9236e07c752972b4080cd351cb476" +dependencies = [ + "utf8-width", +] + [[package]] name = "http-compress" version = "2.3.5" @@ -583,6 +592,7 @@ dependencies = [ "bb8", "bb8-postgres", "chrono", + "html-escape", "hyperlane", "rand", "serde", @@ -1442,6 +1452,12 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" +[[package]] +name = "utf8-width" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3" + [[package]] name = "utf8_iter" version = "1.0.4" diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index fee51c42aef..a621195be74 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -25,6 +25,7 @@ rand = "0.9.0" tokio-postgres = { version = "0.7.13", features = ["with-uuid-0_8"] } chrono = "0.4.40" serde = "1.0.219" +html-escape = "0.2.13" [profile.dev] incremental = false @@ -43,3 +44,6 @@ panic = "unwind" debug = false codegen-units = 1 strip = "debuginfo" + +[features] +dev = [] \ No newline at end of file diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 22834142cff..339f5322644 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -7,6 +7,7 @@ pub async fn get_db_connection() -> DbPoolConnection { } #[inline] +#[cfg(feature = "dev")] pub async fn create_batabase() { let db_pool: DbPoolConnection = get_db_connection().await; let connection: DbConnection = db_pool.get().await.unwrap(); @@ -27,6 +28,7 @@ pub async fn create_batabase() { } #[inline] +#[cfg(feature = "dev")] pub async fn create_table() { let db_pool: DbPoolConnection = get_db_connection().await; let connection: DbConnection = db_pool.get().await.unwrap(); @@ -43,6 +45,7 @@ pub async fn create_table() { } #[inline] +#[cfg(feature = "dev")] pub async fn insert_records() { let db_pool: DbPoolConnection = get_db_connection().await; let connection: DbConnection = db_pool.get().await.unwrap(); @@ -76,9 +79,12 @@ pub async fn init_db() { let mut db_pool_lock: RwLockWriteGuard<'_, Option> = DB.write().await; *db_pool_lock = Some(connection_db().await); } - create_batabase().await; - create_table().await; - insert_records().await; + #[cfg(feature = "dev")] + { + create_batabase().await; + create_table().await; + insert_records().await; + } } #[inline] diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 10394b7f9ab..91b5f4814f8 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -13,6 +13,7 @@ pub(crate) use bb8_postgres::PostgresConnectionManager; pub(crate) use chrono::{DateTime, Utc}; pub(crate) use constant::*; pub(crate) use db::*; +pub(crate) use html_escape::encode_text; pub(crate) use hyperlane::{ once_cell::sync::Lazy, serde::*, @@ -28,6 +29,7 @@ pub(crate) use response_middleware::*; pub(crate) use route::*; pub(crate) use server::*; pub(crate) use std::{ + borrow::Cow, error::Error, fmt::{self, Write}, io, diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 1012d509b70..7ce7f017955 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -60,15 +60,15 @@ pub async fn fortunes(controller_data: ControllerData) { Fortunes::new(id, message) }) .collect(); + fortunes_list.push(Fortunes::new( + 0, + "Additional fortune added at request time.".to_owned(), + )); fortunes_list.sort_by(|a, b| { let message_a: &String = &a.message; let message_b: &String = &b.message; message_a.cmp(message_b) }); - fortunes_list.push(Fortunes::new( - 0, - "Additional fortune added at request time.".to_owned(), - )); let mut res: String = String::with_capacity(20480); let _ = write!(&mut res, "{}", FortunesTemplate::new(fortunes_list)); controller_data diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index 62f035875b5..14ede0b3dc4 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -50,7 +50,7 @@ impl fmt::Display for FortunesTemplate { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "Fortunes
idmessage
{}{}
")?; for fortunes in &self.fortunes_list { - let decoded_message = replace_html_entities(&fortunes.message); + let decoded_message: Cow<'_, str> = encode_text(&fortunes.message); write!( f, "", diff --git a/frameworks/Rust/hyperlane/src/utils.rs b/frameworks/Rust/hyperlane/src/utils.rs index 0aec0bcb8c0..ea37364a8bc 100644 --- a/frameworks/Rust/hyperlane/src/utils.rs +++ b/frameworks/Rust/hyperlane/src/utils.rs @@ -5,10 +5,3 @@ pub fn generate_rfc1123_timestamp() -> String { let now: DateTime = SystemTime::now().into(); now.format("%a, %d %b %Y %H:%M:%S GMT").to_string() } -#[inline] -pub fn replace_html_entities(input: &str) -> String { - input - .replace("<", "<") - .replace(">", ">") - .replace(""", "\"") -} From 6a74721143b35eb5e3da9cab6c0e4428d1b39532 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 18:04:10 +0800 Subject: [PATCH 020/260] feat: update --- frameworks/Rust/hyperlane/src/db.rs | 75 ++++++++++++++++----------- frameworks/Rust/hyperlane/src/lazy.rs | 6 +++ frameworks/Rust/hyperlane/src/main.rs | 1 + frameworks/Rust/hyperlane/src/type.rs | 2 +- 4 files changed, 52 insertions(+), 32 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 339f5322644..fe652ea5027 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -85,6 +85,7 @@ pub async fn init_db() { create_table().await; insert_records().await; } + init_update_state().await; } #[inline] @@ -135,43 +136,55 @@ pub async fn random_world_row(db_pool: &DbPoolConnection) -> Result Result, Box> { +pub async fn init_update_state() { let db_pool: DbPoolConnection = get_db_connection().await; let connection: DbConnection = db_pool .get() .await - .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e)))?; - let mut id_list: Vec = Vec::with_capacity(limit); - let mut params: Vec> = Vec::with_capacity(limit * 2); - let rows: Vec = get_some_row_id(limit, &db_pool).await.unwrap_or_default(); - for row in rows { - let new_random_number: i32 = rand::rng().random_range(1..RANDOM_MAX); - let id: i32 = row.get(0); - id_list.push(QueryRow::new(id, new_random_number)); - params.push(Box::new(new_random_number)); - params.push(Box::new(id)); - } - let mut query: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME); - for i in 0..limit { - query.push_str(&format!( - "WHEN ${}::INTEGER THEN ${}::INTEGER ", - i * 2 + 2, - i * 2 + 1 - )); - } - query.push_str("END WHERE id IN ("); - for i in 0..limit { - if i > 0 { - query.push_str(", "); + .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e))) + .unwrap(); + let mut update_state: RwLockWriteGuard<'_, HashMap> = + UPDATE_STATE.write().await; + let mut update_query: RwLockWriteGuard<'_, HashMap>> = + UPDATE_QUERY.write().await; + for limit in 1..=ROW_LIMIT { + let limit: usize = limit as usize; + let mut query_res_list: Vec = Vec::with_capacity(limit); + let rows: Vec = get_some_row_id(limit, &db_pool).await.unwrap_or_default(); + let mut query = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME); + let mut id_list: Vec = Vec::with_capacity(limit); + let mut value_list = String::new(); + let mut id_in_clause = String::new(); + for (i, row) in rows.iter().enumerate() { + let new_random_number: i32 = rand::rng().random_range(1..RANDOM_MAX); + let id: i32 = row.get(0); + id_list.push(id); + value_list.push_str(&format!("WHEN {} THEN {} ", id, new_random_number)); + if i > 0 { + id_in_clause.push_str(", "); + } + id_in_clause.push_str(&id.to_string()); + query_res_list.push(QueryRow::new(id, new_random_number)); } - query.push_str(&format!("${}::INTEGER", i * 2 + 2)); + update_query.insert(limit, query_res_list); + query.push_str(&value_list); + query.push_str(&format!("END WHERE id IN ({})", id_in_clause)); + let stmt: Statement = connection.prepare(&query).await.unwrap(); + update_state.insert(limit, stmt); } - query.push(')'); - let stmt: Statement = connection.prepare(&query).await?; - let params_refs: Vec<&DynToSqlSync> = - params.iter().map(|p| p.as_ref() as &DynToSqlSync).collect(); - connection.execute(&stmt, ¶ms_refs).await?; - Ok(id_list) +} + +#[inline] +pub async fn update_world_rows(limit: usize) -> Result, Box> { + let stmt: Statement = UPDATE_STATE.read().await.get(&limit).unwrap().clone(); + let db_pool: DbPoolConnection = get_db_connection().await; + let connection: DbConnection = db_pool + .get() + .await + .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e)))?; + connection.execute(&stmt, &[]).await?; + let list: Vec = UPDATE_QUERY.read().await.get(&limit).cloned().unwrap(); + Ok(list) } #[inline] diff --git a/frameworks/Rust/hyperlane/src/lazy.rs b/frameworks/Rust/hyperlane/src/lazy.rs index 5b701e371bd..9c11105b4c1 100644 --- a/frameworks/Rust/hyperlane/src/lazy.rs +++ b/frameworks/Rust/hyperlane/src/lazy.rs @@ -2,3 +2,9 @@ use crate::*; pub static DB: Lazy>> = Lazy::new(|| Arc::new(RwLock::new(None))); + +pub static UPDATE_STATE: Lazy>> = + Lazy::new(|| arc_rwlock(HashMap::new())); + +pub static UPDATE_QUERY: Lazy>>> = + Lazy::new(|| arc_rwlock(HashMap::new())); diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 91b5f4814f8..f46bffb5a32 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -30,6 +30,7 @@ pub(crate) use route::*; pub(crate) use server::*; pub(crate) use std::{ borrow::Cow, + collections::HashMap, error::Error, fmt::{self, Write}, io, diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index 14ede0b3dc4..229b97a3c61 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -7,7 +7,7 @@ pub type DynToSqlSync = dyn ToSql + Sync; pub type DynToSqlSyncSend = dyn ToSql + Sync + Send + Sync; #[allow(bad_style)] -#[derive(Serialize, Default)] +#[derive(Serialize, Default, Clone)] pub struct QueryRow { pub id: i32, pub randomNumber: i32, From a769be75fe883999d59a23067245b49e92154f49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 18:45:37 +0800 Subject: [PATCH 021/260] feat: update --- frameworks/Rust/hyperlane/src/db.rs | 99 +++++++++++++++----------- frameworks/Rust/hyperlane/src/lazy.rs | 8 +-- frameworks/Rust/hyperlane/src/main.rs | 4 +- frameworks/Rust/hyperlane/src/route.rs | 2 +- frameworks/Rust/hyperlane/src/type.rs | 4 +- 5 files changed, 64 insertions(+), 53 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index fe652ea5027..0189c74694c 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -73,21 +73,6 @@ pub async fn insert_records() { connection.batch_execute(&query).await.unwrap(); } -#[inline] -pub async fn init_db() { - { - let mut db_pool_lock: RwLockWriteGuard<'_, Option> = DB.write().await; - *db_pool_lock = Some(connection_db().await); - } - #[cfg(feature = "dev")] - { - create_batabase().await; - create_table().await; - insert_records().await; - } - init_update_state().await; -} - #[inline] pub async fn connection_db() -> DbPoolConnection { let db_url: &str = match option_env!("POSTGRES_URL") { @@ -115,24 +100,21 @@ pub async fn connection_db() -> DbPoolConnection { } #[inline] -pub async fn random_world_row(db_pool: &DbPoolConnection) -> Result> { - let random_id: i32 = rand::rng().random_range(1..ROW_LIMIT); - let connection: DbConnection = db_pool - .get() - .await - .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e)))?; - let stmt: Statement = connection - .prepare(&format!( - "SELECT id, randomNumber FROM {} WHERE id = $1", - TABLE_NAME - )) - .await?; - if let Some(rows) = connection.query_opt(&stmt, &[&random_id]).await? { - let id: i32 = rows.get(0); - let random_number: i32 = rows.get(1); - return Ok(QueryRow::new(id, random_number)); +pub async fn init_query_state() { + let db_pool: DbPoolConnection = get_db_connection().await; + let mut query_state: RwLockWriteGuard<'_, HashMap> = + QUERY_STATE.write().await; + for random_id in 1..=ROW_LIMIT { + let connection: DbConnection = db_pool.get().await.unwrap(); + let stmt: Statement = connection + .prepare(&format!( + "SELECT id, randomNumber FROM {} WHERE id = {}", + TABLE_NAME, random_id + )) + .await + .unwrap(); + query_state.insert(random_id, stmt); } - return Ok(QueryRow::new(1, 1)); } #[inline] @@ -143,16 +125,16 @@ pub async fn init_update_state() { .await .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e))) .unwrap(); - let mut update_state: RwLockWriteGuard<'_, HashMap> = + let mut update_state: RwLockWriteGuard<'_, HashMap> = UPDATE_STATE.write().await; - let mut update_query: RwLockWriteGuard<'_, HashMap>> = + let mut update_query: RwLockWriteGuard<'_, HashMap>> = UPDATE_QUERY.write().await; for limit in 1..=ROW_LIMIT { - let limit: usize = limit as usize; - let mut query_res_list: Vec = Vec::with_capacity(limit); + let limit: Queries = limit as Queries; + let mut query_res_list: Vec = Vec::with_capacity(limit as usize); let rows: Vec = get_some_row_id(limit, &db_pool).await.unwrap_or_default(); let mut query = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME); - let mut id_list: Vec = Vec::with_capacity(limit); + let mut id_list: Vec = Vec::with_capacity(limit as usize); let mut value_list = String::new(); let mut id_in_clause = String::new(); for (i, row) in rows.iter().enumerate() { @@ -175,13 +157,45 @@ pub async fn init_update_state() { } #[inline] -pub async fn update_world_rows(limit: usize) -> Result, Box> { - let stmt: Statement = UPDATE_STATE.read().await.get(&limit).unwrap().clone(); +pub async fn init_db() { + { + let mut db_pool_lock: RwLockWriteGuard<'_, Option> = DB.write().await; + *db_pool_lock = Some(connection_db().await); + } + #[cfg(feature = "dev")] + { + create_batabase().await; + create_table().await; + insert_records().await; + } + init_query_state().await; + init_update_state().await; +} + +#[inline] +pub async fn random_world_row(db_pool: &DbPoolConnection) -> Result> { + let random_id: i32 = rand::rng().random_range(1..ROW_LIMIT); + let connection: DbConnection = db_pool + .get() + .await + .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e)))?; + let stmt: Statement = QUERY_STATE.read().await.get(&random_id).cloned().unwrap(); + if let Some(rows) = connection.query_opt(&stmt, &[]).await? { + let id: i32 = rows.get(0); + let random_number: i32 = rows.get(1); + return Ok(QueryRow::new(id, random_number)); + } + return Ok(QueryRow::new(1, 1)); +} + +#[inline] +pub async fn update_world_rows(limit: Queries) -> Result, Box> { let db_pool: DbPoolConnection = get_db_connection().await; let connection: DbConnection = db_pool .get() .await .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e)))?; + let stmt: Statement = UPDATE_STATE.read().await.get(&limit).unwrap().clone(); connection.execute(&stmt, &[]).await?; let list: Vec = UPDATE_QUERY.read().await.get(&limit).cloned().unwrap(); Ok(list) @@ -194,16 +208,15 @@ pub async fn all_world_row() -> Result, Box> { .get() .await .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e)))?; - let stmt: Statement = connection - .prepare(&format!("SELECT id, randomNumber FROM {}", TABLE_NAME)) - .await?; + let query_state: RwLockReadGuard<'_, HashMap> = QUERY_STATE.read().await; + let stmt: Statement = query_state.get(&(ROW_LIMIT as Queries)).unwrap().clone(); let rows: Vec = connection.query(&stmt, &[]).await?; return Ok(rows); } #[inline] pub async fn get_some_row_id( - limit: usize, + limit: Queries, db_pool: &DbPoolConnection, ) -> Result, Box> { let connection: DbConnection = db_pool diff --git a/frameworks/Rust/hyperlane/src/lazy.rs b/frameworks/Rust/hyperlane/src/lazy.rs index 9c11105b4c1..4898cc1d043 100644 --- a/frameworks/Rust/hyperlane/src/lazy.rs +++ b/frameworks/Rust/hyperlane/src/lazy.rs @@ -2,9 +2,9 @@ use crate::*; pub static DB: Lazy>> = Lazy::new(|| Arc::new(RwLock::new(None))); - -pub static UPDATE_STATE: Lazy>> = +pub static UPDATE_STATE: Lazy>> = Lazy::new(|| arc_rwlock(HashMap::new())); - -pub static UPDATE_QUERY: Lazy>>> = +pub static UPDATE_QUERY: Lazy>>> = + Lazy::new(|| arc_rwlock(HashMap::new())); +pub static QUERY_STATE: Lazy>> = Lazy::new(|| arc_rwlock(HashMap::new())); diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index f46bffb5a32..fca97cb9476 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -18,7 +18,7 @@ pub(crate) use hyperlane::{ once_cell::sync::Lazy, serde::*, serde_json::json, - tokio::sync::{RwLock, RwLockWriteGuard}, + tokio::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard}, *, }; pub(crate) use lazy::*; @@ -38,7 +38,7 @@ pub(crate) use std::{ time::Duration, time::SystemTime, }; -pub(crate) use tokio_postgres::{types::ToSql, Config, NoTls, Row, Statement}; +pub(crate) use tokio_postgres::{Config, NoTls, Row, Statement}; pub(crate) use utils::*; #[tokio::main] diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 7ce7f017955..3efa598d71b 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -36,7 +36,7 @@ pub async fn queries(controller_data: ControllerData) { .unwrap_or_default() .min(ROW_LIMIT as Queries) .max(1); - let mut data: Vec = Vec::with_capacity(queries); + let mut data: Vec = Vec::with_capacity(queries as usize); let db_pool: DbPoolConnection = get_db_connection().await; for _ in 0..queries { let _ = random_world_row(&db_pool).await.map(|row| { diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index 229b97a3c61..dd9ae6e1a45 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -2,9 +2,7 @@ use crate::*; pub type DbPoolConnection = Pool>; pub type DbConnection<'a> = PooledConnection<'a, PostgresConnectionManager>; -pub type Queries = usize; -pub type DynToSqlSync = dyn ToSql + Sync; -pub type DynToSqlSyncSend = dyn ToSql + Sync + Send + Sync; +pub type Queries = i32; #[allow(bad_style)] #[derive(Serialize, Default, Clone)] From c332dcc3ed665b4fd71e1dc3e0361f81dc9705fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 19:18:43 +0800 Subject: [PATCH 022/260] feat: update --- frameworks/Rust/hyperlane/src/db.rs | 63 ++++++++++++------------- frameworks/Rust/hyperlane/src/lazy.rs | 7 +-- frameworks/Rust/hyperlane/src/route.rs | 3 +- frameworks/Rust/hyperlane/src/server.rs | 2 +- 4 files changed, 37 insertions(+), 38 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 0189c74694c..c571b94eef7 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -93,6 +93,7 @@ pub async fn connection_db() -> DbPoolConnection { let db_pool: DbPoolConnection = Pool::builder() .max_size(DB_POOL_SIZE) .max_lifetime(Some(Duration::from_secs(u64::MAX))) + .connection_timeout(Duration::from_secs(u64::MAX)) .build(db_manager) .await .unwrap(); @@ -101,34 +102,30 @@ pub async fn connection_db() -> DbPoolConnection { #[inline] pub async fn init_query_state() { - let db_pool: DbPoolConnection = get_db_connection().await; - let mut query_state: RwLockWriteGuard<'_, HashMap> = - QUERY_STATE.write().await; + let mut query_sql: RwLockWriteGuard<'_, HashMap> = QUERY_SQL.write().await; for random_id in 1..=ROW_LIMIT { - let connection: DbConnection = db_pool.get().await.unwrap(); - let stmt: Statement = connection - .prepare(&format!( + query_sql.insert( + random_id, + format!( "SELECT id, randomNumber FROM {} WHERE id = {}", TABLE_NAME, random_id - )) - .await - .unwrap(); - query_state.insert(random_id, stmt); + ), + ); } } +#[inline] +pub async fn init_query_all_state() { + let mut query_all_sql: RwLockWriteGuard<'_, String> = QUERY_ALL_SQL.write().await; + *query_all_sql = format!("SELECT id, randomNumber FROM {}", TABLE_NAME); +} + #[inline] pub async fn init_update_state() { let db_pool: DbPoolConnection = get_db_connection().await; - let connection: DbConnection = db_pool - .get() - .await - .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e))) - .unwrap(); - let mut update_state: RwLockWriteGuard<'_, HashMap> = - UPDATE_STATE.write().await; - let mut update_query: RwLockWriteGuard<'_, HashMap>> = - UPDATE_QUERY.write().await; + let mut update_sql: RwLockWriteGuard<'_, HashMap> = UPDATE_SQL.write().await; + let mut update_query_sql: RwLockWriteGuard<'_, HashMap>> = + UPDATE_QUERY_SQL.write().await; for limit in 1..=ROW_LIMIT { let limit: Queries = limit as Queries; let mut query_res_list: Vec = Vec::with_capacity(limit as usize); @@ -148,11 +145,10 @@ pub async fn init_update_state() { id_in_clause.push_str(&id.to_string()); query_res_list.push(QueryRow::new(id, new_random_number)); } - update_query.insert(limit, query_res_list); + update_query_sql.insert(limit, query_res_list); query.push_str(&value_list); query.push_str(&format!("END WHERE id IN ({})", id_in_clause)); - let stmt: Statement = connection.prepare(&query).await.unwrap(); - update_state.insert(limit, stmt); + update_sql.insert(limit, query); } } @@ -169,18 +165,19 @@ pub async fn init_db() { insert_records().await; } init_query_state().await; + init_query_all_state().await; init_update_state().await; } #[inline] pub async fn random_world_row(db_pool: &DbPoolConnection) -> Result> { - let random_id: i32 = rand::rng().random_range(1..ROW_LIMIT); + let random_id: i32 = rand::rng().random_range(1..=ROW_LIMIT); let connection: DbConnection = db_pool .get() .await .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e)))?; - let stmt: Statement = QUERY_STATE.read().await.get(&random_id).cloned().unwrap(); - if let Some(rows) = connection.query_opt(&stmt, &[]).await? { + let sql: String = QUERY_SQL.read().await.get(&random_id).cloned().unwrap(); + if let Some(rows) = connection.query_opt(&sql, &[]).await? { let id: i32 = rows.get(0); let random_number: i32 = rows.get(1); return Ok(QueryRow::new(id, random_number)); @@ -195,9 +192,9 @@ pub async fn update_world_rows(limit: Queries) -> Result, Box = UPDATE_QUERY.read().await.get(&limit).cloned().unwrap(); + let sql: String = UPDATE_SQL.read().await.get(&limit).unwrap().clone(); + connection.execute(&sql, &[]).await?; + let list: Vec = UPDATE_QUERY_SQL.read().await.get(&limit).cloned().unwrap(); Ok(list) } @@ -208,9 +205,9 @@ pub async fn all_world_row() -> Result, Box> { .get() .await .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e)))?; - let query_state: RwLockReadGuard<'_, HashMap> = QUERY_STATE.read().await; - let stmt: Statement = query_state.get(&(ROW_LIMIT as Queries)).unwrap().clone(); - let rows: Vec = connection.query(&stmt, &[]).await?; + let query_all_sql: RwLockReadGuard<'_, String> = QUERY_ALL_SQL.read().await; + let sql: String = query_all_sql.clone(); + let rows: Vec = connection.query(&sql, &[]).await?; return Ok(rows); } @@ -223,9 +220,9 @@ pub async fn get_some_row_id( .get() .await .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e)))?; - let stmt: Statement = connection + let sql: Statement = connection .prepare(&format!("SELECT id FROM {} LIMIT {}", TABLE_NAME, limit)) .await?; - let rows: Vec = connection.query(&stmt, &[]).await?; + let rows: Vec = connection.query(&sql, &[]).await?; return Ok(rows); } diff --git a/frameworks/Rust/hyperlane/src/lazy.rs b/frameworks/Rust/hyperlane/src/lazy.rs index 4898cc1d043..ffefbf9bcb9 100644 --- a/frameworks/Rust/hyperlane/src/lazy.rs +++ b/frameworks/Rust/hyperlane/src/lazy.rs @@ -2,9 +2,10 @@ use crate::*; pub static DB: Lazy>> = Lazy::new(|| Arc::new(RwLock::new(None))); -pub static UPDATE_STATE: Lazy>> = +pub static UPDATE_SQL: Lazy>> = Lazy::new(|| arc_rwlock(HashMap::new())); -pub static UPDATE_QUERY: Lazy>>> = +pub static UPDATE_QUERY_SQL: Lazy>>> = Lazy::new(|| arc_rwlock(HashMap::new())); -pub static QUERY_STATE: Lazy>> = +pub static QUERY_SQL: Lazy>> = Lazy::new(|| arc_rwlock(HashMap::new())); +pub static QUERY_ALL_SQL: Lazy> = Lazy::new(|| arc_rwlock(String::new())); diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 3efa598d71b..2618fec1083 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -21,7 +21,8 @@ pub async fn plaintext(controller_data: ControllerData) { #[inline] pub async fn db(controller_data: ControllerData) { - let query_row: QueryRow = random_world_row(&get_db_connection().await).await.unwrap(); + let db_connection: DbPoolConnection = get_db_connection().await; + let query_row: QueryRow = random_world_row(&db_connection).await.unwrap(); let _ = controller_data .set_response_body(serde_json::to_string(&query_row).unwrap_or_default()) .await; diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 20ec4d01a2f..d6045794c64 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -7,7 +7,7 @@ pub async fn run_server() { server.port(8080).await; server.log_dir("./logs").await; server.log_interval_millis(1_000_000_000).await; - server.disable_print().await; + // server.disable_print().await; server.route("/json", json).await; server.route("/plaintext", plaintext).await; server.route("/db", db).await; From d4fe13b48927a8c698afc336bca45773274b231f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 19:26:53 +0800 Subject: [PATCH 023/260] feat: update --- frameworks/Rust/hyperlane/src/db.rs | 4 ++-- frameworks/Rust/hyperlane/src/server.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index c571b94eef7..43db472c5ee 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -145,9 +145,9 @@ pub async fn init_update_state() { id_in_clause.push_str(&id.to_string()); query_res_list.push(QueryRow::new(id, new_random_number)); } - update_query_sql.insert(limit, query_res_list); query.push_str(&value_list); query.push_str(&format!("END WHERE id IN ({})", id_in_clause)); + update_query_sql.insert(limit, query_res_list); update_sql.insert(limit, query); } } @@ -193,7 +193,7 @@ pub async fn update_world_rows(limit: Queries) -> Result, Box = UPDATE_QUERY_SQL.read().await.get(&limit).cloned().unwrap(); Ok(list) } diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index d6045794c64..20ec4d01a2f 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -7,7 +7,7 @@ pub async fn run_server() { server.port(8080).await; server.log_dir("./logs").await; server.log_interval_millis(1_000_000_000).await; - // server.disable_print().await; + server.disable_print().await; server.route("/json", json).await; server.route("/plaintext", plaintext).await; server.route("/db", db).await; From 6e6bdf62ef6d07c8ad0ea85448c3620ea8d56f0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 19:47:20 +0800 Subject: [PATCH 024/260] feat: update --- frameworks/Rust/hyperlane/src/db.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 43db472c5ee..f1ae4875028 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -93,7 +93,6 @@ pub async fn connection_db() -> DbPoolConnection { let db_pool: DbPoolConnection = Pool::builder() .max_size(DB_POOL_SIZE) .max_lifetime(Some(Duration::from_secs(u64::MAX))) - .connection_timeout(Duration::from_secs(u64::MAX)) .build(db_manager) .await .unwrap(); @@ -130,10 +129,10 @@ pub async fn init_update_state() { let limit: Queries = limit as Queries; let mut query_res_list: Vec = Vec::with_capacity(limit as usize); let rows: Vec = get_some_row_id(limit, &db_pool).await.unwrap_or_default(); - let mut query = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME); + let mut query: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME); let mut id_list: Vec = Vec::with_capacity(limit as usize); - let mut value_list = String::new(); - let mut id_in_clause = String::new(); + let mut value_list: String = String::new(); + let mut id_in_clause: String = String::new(); for (i, row) in rows.iter().enumerate() { let new_random_number: i32 = rand::rng().random_range(1..RANDOM_MAX); let id: i32 = row.get(0); From adbf84232af74bd1392ee0e37edc88bba0978fb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 20:21:57 +0800 Subject: [PATCH 025/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 908 ++++++++++++++++++---- frameworks/Rust/hyperlane/Cargo.toml | 6 +- frameworks/Rust/hyperlane/src/constant.rs | 3 +- frameworks/Rust/hyperlane/src/db.rs | 103 +-- frameworks/Rust/hyperlane/src/main.rs | 6 +- frameworks/Rust/hyperlane/src/route.rs | 2 +- frameworks/Rust/hyperlane/src/server.rs | 2 +- frameworks/Rust/hyperlane/src/type.rs | 3 +- 8 files changed, 810 insertions(+), 223 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 8acf05f5e0f..c641a62dc3f 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -75,14 +75,12 @@ dependencies = [ ] [[package]] -name = "async-trait" -version = "0.1.88" +name = "atoi" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" dependencies = [ - "proc-macro2", - "quote", - "syn", + "num-traits", ] [[package]] @@ -103,7 +101,7 @@ dependencies = [ "miniz_oxide", "object", "rustc-demangle", - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -113,32 +111,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] -name = "bb8" -version = "0.9.0" +name = "base64ct" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212d8b8e1a22743d9241575c6ba822cf9c8fef34771c86ab7e477a4fbfd254e5" -dependencies = [ - "futures-util", - "parking_lot", - "tokio", -] - -[[package]] -name = "bb8-postgres" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e570e6557cd0f88d28d32afa76644873271a70dc22656df565b2021c4036aa9c" -dependencies = [ - "bb8", - "tokio", - "tokio-postgres", -] +checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" [[package]] name = "bitflags" version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" +dependencies = [ + "serde", +] [[package]] name = "block-buffer" @@ -232,6 +217,21 @@ dependencies = [ "hyperlane-time", ] +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + [[package]] name = "core-foundation-sys" version = "0.8.7" @@ -247,6 +247,21 @@ dependencies = [ "libc", ] +[[package]] +name = "crc" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + [[package]] name = "crc32fast" version = "1.4.2" @@ -256,6 +271,21 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "crossbeam-queue" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + [[package]] name = "crypto-common" version = "0.1.6" @@ -266,6 +296,17 @@ dependencies = [ "typenum", ] +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + [[package]] name = "digest" version = "0.10.7" @@ -273,6 +314,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", + "const-oid", "crypto-common", "subtle", ] @@ -289,10 +331,63 @@ dependencies = [ ] [[package]] -name = "fallible-iterator" -version = "0.2.0" +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +dependencies = [ + "serde", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "etcetera" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" +dependencies = [ + "cfg-if", + "home", + "windows-sys 0.48.0", +] + +[[package]] +name = "event-listener" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" +checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "file-operation" @@ -322,6 +417,23 @@ dependencies = [ "num-traits", ] +[[package]] +name = "flume" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" +dependencies = [ + "futures-core", + "futures-sink", + "spin", +] + +[[package]] +name = "foldhash" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" + [[package]] name = "form_urlencoded" version = "1.2.1" @@ -373,6 +485,17 @@ dependencies = [ "futures-util", ] +[[package]] +name = "futures-intrusive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot", +] + [[package]] name = "futures-io" version = "0.3.31" @@ -452,7 +575,7 @@ dependencies = [ "cfg-if", "libc", "wasi 0.13.3+wasi-0.2.2", - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -467,7 +590,7 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8588661a8607108a5ca69cab034063441a0413a0b041c13618a7dd348021ef6f" dependencies = [ - "hashbrown", + "hashbrown 0.14.5", "serde", ] @@ -481,12 +604,47 @@ dependencies = [ "allocator-api2", ] +[[package]] +name = "hashbrown" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "hashlink" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" +dependencies = [ + "hashbrown 0.15.2", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "hex" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac", +] + [[package]] name = "hmac" version = "0.12.1" @@ -496,6 +654,15 @@ dependencies = [ "digest", ] +[[package]] +name = "home" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +dependencies = [ + "windows-sys 0.59.0", +] + [[package]] name = "html-escape" version = "0.2.13" @@ -589,14 +756,12 @@ checksum = "11dcc4ca08d1ebfc1f70e7a40033483219f77909a7ef6c4af302a14aa97da3d2" name = "hyperlane_techempower" version = "0.0.1" dependencies = [ - "bb8", - "bb8-postgres", "chrono", "html-escape", "hyperlane", - "rand", + "rand 0.9.0", "serde", - "tokio-postgres", + "sqlx", ] [[package]] @@ -761,6 +926,16 @@ dependencies = [ "icu_properties", ] +[[package]] +name = "indexmap" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" +dependencies = [ + "equivalent", + "hashbrown 0.15.2", +] + [[package]] name = "itoa" version = "1.0.15" @@ -777,12 +952,43 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin", +] + [[package]] name = "libc" version = "0.2.171" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" +[[package]] +name = "libm" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" + +[[package]] +name = "libsqlite3-sys" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" +dependencies = [ + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linux-raw-sys" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" + [[package]] name = "litemap" version = "0.7.5" @@ -849,7 +1055,44 @@ checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "num-bigint-dig" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" +dependencies = [ + "byteorder", + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "smallvec", + "zeroize", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", ] [[package]] @@ -859,6 +1102,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", + "libm", ] [[package]] @@ -876,6 +1120,12 @@ version = "1.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + [[package]] name = "parking_lot" version = "0.12.3" @@ -896,32 +1146,23 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-targets", + "windows-targets 0.52.6", ] [[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "phf" -version = "0.11.3" +name = "pem-rfc7468" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" dependencies = [ - "phf_shared", + "base64ct", ] [[package]] -name = "phf_shared" -version = "0.11.3" +name = "percent-encoding" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" -dependencies = [ - "siphasher", -] +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pin-project-lite" @@ -936,35 +1177,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] -name = "postgres-protocol" -version = "0.6.8" +name = "pkcs1" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76ff0abab4a9b844b93ef7b81f1efc0a366062aaef2cd702c76256b5dc075c54" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" dependencies = [ - "base64", - "byteorder", - "bytes", - "fallible-iterator", - "hmac", - "md-5", - "memchr", - "rand", - "sha2", - "stringprep", + "der", + "pkcs8", + "spki", ] [[package]] -name = "postgres-types" -version = "0.2.9" +name = "pkcs8" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613283563cd90e1dfc3518d548caee47e0e725455ed619881f5cf21f36de4b48" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "bytes", - "fallible-iterator", - "postgres-protocol", - "uuid", + "der", + "spki", ] +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + [[package]] name = "ppv-lite86" version = "0.2.21" @@ -992,17 +1230,38 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + [[package]] name = "rand" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" dependencies = [ - "rand_chacha", - "rand_core", + "rand_chacha 0.9.0", + "rand_core 0.9.3", "zerocopy 0.8.23", ] +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + [[package]] name = "rand_chacha" version = "0.9.0" @@ -1010,7 +1269,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.9.3", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.15", ] [[package]] @@ -1071,12 +1339,45 @@ dependencies = [ "syn", ] +[[package]] +name = "rsa" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" +dependencies = [ + "const-oid", + "digest", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core 0.6.4", + "signature", + "spki", + "subtle", + "zeroize", +] + [[package]] name = "rustc-demangle" version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +[[package]] +name = "rustix" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7178faa4b75a30e269c71e61c353ce2748cf3d76f0c44c393f4e60abf49b825" +dependencies = [ + "bitflags", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + [[package]] name = "rustversion" version = "1.0.20" @@ -1112,7 +1413,7 @@ checksum = "fb3aa78ecda1ebc9ec9847d5d3aba7d618823446a049ba2491940506da6e2782" dependencies = [ "log", "serde", - "thiserror", + "thiserror 1.0.69", "xml-rs", ] @@ -1160,6 +1461,17 @@ dependencies = [ "tokio", ] +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + [[package]] name = "sha2" version = "0.10.8" @@ -1186,6 +1498,16 @@ dependencies = [ "libc", ] +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core 0.6.4", +] + [[package]] name = "simd-json" version = "0.14.3" @@ -1207,12 +1529,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" -[[package]] -name = "siphasher" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" - [[package]] name = "slab" version = "0.4.9" @@ -1227,6 +1543,9 @@ name = "smallvec" version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" +dependencies = [ + "serde", +] [[package]] name = "socket2" @@ -1235,7 +1554,213 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" dependencies = [ "libc", - "windows-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "sqlx" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4410e73b3c0d8442c5f99b425d7a435b5ee0ae4167b3196771dd3f7a01be745f" +dependencies = [ + "sqlx-core", + "sqlx-macros", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", +] + +[[package]] +name = "sqlx-core" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a007b6936676aa9ab40207cde35daab0a04b823be8ae004368c0793b96a61e0" +dependencies = [ + "bytes", + "crc", + "crossbeam-queue", + "either", + "event-listener", + "futures-core", + "futures-intrusive", + "futures-io", + "futures-util", + "hashbrown 0.15.2", + "hashlink", + "indexmap", + "log", + "memchr", + "once_cell", + "percent-encoding", + "serde", + "serde_json", + "sha2", + "smallvec", + "thiserror 2.0.12", + "tokio", + "tokio-stream", + "tracing", + "url", +] + +[[package]] +name = "sqlx-macros" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3112e2ad78643fef903618d78cf0aec1cb3134b019730edb039b69eaf531f310" +dependencies = [ + "proc-macro2", + "quote", + "sqlx-core", + "sqlx-macros-core", + "syn", +] + +[[package]] +name = "sqlx-macros-core" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e9f90acc5ab146a99bf5061a7eb4976b573f560bc898ef3bf8435448dd5e7ad" +dependencies = [ + "dotenvy", + "either", + "heck", + "hex", + "once_cell", + "proc-macro2", + "quote", + "serde", + "serde_json", + "sha2", + "sqlx-core", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", + "syn", + "tempfile", + "tokio", + "url", +] + +[[package]] +name = "sqlx-mysql" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4560278f0e00ce64938540546f59f590d60beee33fffbd3b9cd47851e5fff233" +dependencies = [ + "atoi", + "base64", + "bitflags", + "byteorder", + "bytes", + "crc", + "digest", + "dotenvy", + "either", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "generic-array", + "hex", + "hkdf", + "hmac", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "percent-encoding", + "rand 0.8.5", + "rsa", + "serde", + "sha1", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror 2.0.12", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-postgres" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5b98a57f363ed6764d5b3a12bfedf62f07aa16e1856a7ddc2a0bb190a959613" +dependencies = [ + "atoi", + "base64", + "bitflags", + "byteorder", + "crc", + "dotenvy", + "etcetera", + "futures-channel", + "futures-core", + "futures-util", + "hex", + "hkdf", + "hmac", + "home", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "rand 0.8.5", + "serde", + "serde_json", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror 2.0.12", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-sqlite" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f85ca71d3a5b24e64e1d08dd8fe36c6c95c339a896cc33068148906784620540" +dependencies = [ + "atoi", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "libsqlite3-sys", + "log", + "percent-encoding", + "serde", + "serde_urlencoded", + "sqlx-core", + "tracing", + "url", ] [[package]] @@ -1289,13 +1814,35 @@ dependencies = [ "syn", ] +[[package]] +name = "tempfile" +version = "3.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488960f40a3fd53d72c2a29a58722561dee8afdd175bd88e3db4677d7b2ba600" +dependencies = [ + "fastrand", + "getrandom 0.3.1", + "once_cell", + "rustix", + "windows-sys 0.52.0", +] + [[package]] name = "thiserror" version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl 2.0.12", ] [[package]] @@ -1309,6 +1856,17 @@ dependencies = [ "syn", ] +[[package]] +name = "thiserror-impl" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "tinystr" version = "0.7.6" @@ -1349,7 +1907,7 @@ dependencies = [ "signal-hook-registry", "socket2", "tokio-macros", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -1364,42 +1922,46 @@ dependencies = [ ] [[package]] -name = "tokio-postgres" -version = "0.7.13" +name = "tokio-stream" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c95d533c83082bb6490e0189acaa0bbeef9084e60471b696ca6988cd0541fb0" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ - "async-trait", - "byteorder", - "bytes", - "fallible-iterator", - "futures-channel", - "futures-util", - "log", - "parking_lot", - "percent-encoding", - "phf", + "futures-core", "pin-project-lite", - "postgres-protocol", - "postgres-types", - "rand", - "socket2", "tokio", - "tokio-util", - "whoami", ] [[package]] -name = "tokio-util" -version = "0.7.14" +name = "tracing" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ - "bytes", - "futures-core", - "futures-sink", + "log", "pin-project-lite", - "tokio", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tracing-core" +version = "0.1.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +dependencies = [ + "once_cell", ] [[package]] @@ -1464,12 +2026,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" -[[package]] -name = "uuid" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" - [[package]] name = "value-trait" version = "0.10.1" @@ -1482,6 +2038,12 @@ dependencies = [ "ryu", ] +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + [[package]] name = "version_check" version = "0.9.5" @@ -1567,16 +2129,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "web-sys" -version = "0.3.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - [[package]] name = "whoami" version = "1.5.2" @@ -1585,7 +2137,6 @@ checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d" dependencies = [ "redox_syscall", "wasite", - "web-sys", ] [[package]] @@ -1594,7 +2145,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -1603,13 +2154,46 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3" +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + [[package]] name = "windows-sys" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", ] [[package]] @@ -1618,28 +2202,46 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -1652,24 +2254,48 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + [[package]] name = "windows_x86_64_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + [[package]] name = "windows_x86_64_msvc" version = "0.52.6" @@ -1788,6 +2414,12 @@ dependencies = [ "synstructure", ] +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + [[package]] name = "zerovec" version = "0.10.4" diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index a621195be74..4046a66c754 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -19,13 +19,11 @@ exclude = [ [dependencies] hyperlane = "4.33.0" -bb8 = "0.9.0" -bb8-postgres = "0.9.0" rand = "0.9.0" -tokio-postgres = { version = "0.7.13", features = ["with-uuid-0_8"] } chrono = "0.4.40" serde = "1.0.219" html-escape = "0.2.13" +sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } [profile.dev] incremental = false @@ -46,4 +44,4 @@ codegen-units = 1 strip = "debuginfo" [features] -dev = [] \ No newline at end of file +dev = [] diff --git a/frameworks/Rust/hyperlane/src/constant.rs b/frameworks/Rust/hyperlane/src/constant.rs index 656e74c723f..a6cd3fe94a2 100644 --- a/frameworks/Rust/hyperlane/src/constant.rs +++ b/frameworks/Rust/hyperlane/src/constant.rs @@ -8,4 +8,5 @@ pub static DATABASE_NAME: &str = "hello_world"; pub static TABLE_NAME: &str = "World"; pub static ROW_LIMIT: i32 = 500; pub static RANDOM_MAX: i32 = 10_000; -pub static DB_POOL_SIZE: u32 = 1000; +pub static KEY_ID: &str = "id"; +pub static KEY_RANDOM_NUMBER: &str = "randomNumber"; diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index f1ae4875028..89cab1e6b68 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -10,47 +10,31 @@ pub async fn get_db_connection() -> DbPoolConnection { #[cfg(feature = "dev")] pub async fn create_batabase() { let db_pool: DbPoolConnection = get_db_connection().await; - let connection: DbConnection = db_pool.get().await.unwrap(); - let db_exists: bool = connection - .query_one( - "SELECT EXISTS(SELECT 1 FROM pg_database WHERE datname = $1);", - &[&DATABASE_NAME], - ) - .await - .unwrap() - .get(0); - if !db_exists { - connection - .batch_execute(&format!("CREATE DATABASE {};", DATABASE_NAME)) - .await - .unwrap(); - } + let _ = sqlx::query(&format!("CREATE DATABASE {};", DATABASE_NAME)) + .execute(&db_pool) + .await; } #[inline] #[cfg(feature = "dev")] pub async fn create_table() { let db_pool: DbPoolConnection = get_db_connection().await; - let connection: DbConnection = db_pool.get().await.unwrap(); - connection - .batch_execute(&format!( - "CREATE TABLE IF NOT EXISTS {} ( - id SERIAL PRIMARY KEY, - randomNumber INTEGER NOT NULL - );", - TABLE_NAME - )) - .await - .unwrap(); + let _ = sqlx::query(&format!( + "CREATE TABLE IF NOT EXISTS {} ( + id SERIAL PRIMARY KEY, randomNumber INTEGER NOT NULL + );", + TABLE_NAME + )) + .execute(&db_pool) + .await; } #[inline] #[cfg(feature = "dev")] pub async fn insert_records() { let db_pool: DbPoolConnection = get_db_connection().await; - let connection: DbConnection = db_pool.get().await.unwrap(); - let row: Row = connection - .query_one(&format!("SELECT COUNT(*) FROM {}", TABLE_NAME), &[]) + let row: PgRow = sqlx::query(&format!("SELECT COUNT(*) FROM {}", TABLE_NAME)) + .fetch_one(&db_pool) .await .unwrap(); let count: i64 = row.get(0); @@ -70,7 +54,7 @@ pub async fn insert_records() { TABLE_NAME, values.join(",") ); - connection.batch_execute(&query).await.unwrap(); + let _ = sqlx::query(&query).execute(&db_pool).await; } #[inline] @@ -87,16 +71,8 @@ pub async fn connection_db() -> DbPoolConnection { DATABASE_NAME ), }; - let config: Config = db_url.parse::().unwrap(); - let db_manager: PostgresConnectionManager = - PostgresConnectionManager::new(config, NoTls); - let db_pool: DbPoolConnection = Pool::builder() - .max_size(DB_POOL_SIZE) - .max_lifetime(Some(Duration::from_secs(u64::MAX))) - .build(db_manager) - .await - .unwrap(); - db_pool + let pool: DbPoolConnection = PgPool::connect(db_url).await.unwrap(); + pool } #[inline] @@ -128,14 +104,14 @@ pub async fn init_update_state() { for limit in 1..=ROW_LIMIT { let limit: Queries = limit as Queries; let mut query_res_list: Vec = Vec::with_capacity(limit as usize); - let rows: Vec = get_some_row_id(limit, &db_pool).await.unwrap_or_default(); + let rows: Vec = get_some_row_id(limit, &db_pool).await.unwrap_or_default(); let mut query: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME); let mut id_list: Vec = Vec::with_capacity(limit as usize); let mut value_list: String = String::new(); let mut id_in_clause: String = String::new(); for (i, row) in rows.iter().enumerate() { let new_random_number: i32 = rand::rng().random_range(1..RANDOM_MAX); - let id: i32 = row.get(0); + let id: i32 = row.get(KEY_ID); id_list.push(id); value_list.push_str(&format!("WHEN {} THEN {} ", id, new_random_number)); if i > 0 { @@ -171,14 +147,10 @@ pub async fn init_db() { #[inline] pub async fn random_world_row(db_pool: &DbPoolConnection) -> Result> { let random_id: i32 = rand::rng().random_range(1..=ROW_LIMIT); - let connection: DbConnection = db_pool - .get() - .await - .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e)))?; let sql: String = QUERY_SQL.read().await.get(&random_id).cloned().unwrap(); - if let Some(rows) = connection.query_opt(&sql, &[]).await? { - let id: i32 = rows.get(0); - let random_number: i32 = rows.get(1); + if let Ok(rows) = sqlx::query(&sql).fetch_one(db_pool).await { + let id: i32 = rows.get(KEY_ID); + let random_number: i32 = rows.get(KEY_RANDOM_NUMBER); return Ok(QueryRow::new(id, random_number)); } return Ok(QueryRow::new(1, 1)); @@ -187,41 +159,30 @@ pub async fn random_world_row(db_pool: &DbPoolConnection) -> Result Result, Box> { let db_pool: DbPoolConnection = get_db_connection().await; - let connection: DbConnection = db_pool - .get() - .await - .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e)))?; let sql: String = UPDATE_SQL.read().await.get(&limit).unwrap().clone(); - let _ = connection.execute(&sql, &[]).await; + let _ = sqlx::query(&sql).execute(&db_pool).await; let list: Vec = UPDATE_QUERY_SQL.read().await.get(&limit).cloned().unwrap(); Ok(list) } #[inline] -pub async fn all_world_row() -> Result, Box> { +pub async fn all_world_row() -> Vec { let db_pool: DbPoolConnection = get_db_connection().await; - let connection: DbConnection = db_pool - .get() - .await - .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e)))?; let query_all_sql: RwLockReadGuard<'_, String> = QUERY_ALL_SQL.read().await; let sql: String = query_all_sql.clone(); - let rows: Vec = connection.query(&sql, &[]).await?; - return Ok(rows); + let res: Vec = sqlx::query(&sql) + .fetch_all(&db_pool) + .await + .unwrap_or_default(); + return res; } #[inline] pub async fn get_some_row_id( limit: Queries, db_pool: &DbPoolConnection, -) -> Result, Box> { - let connection: DbConnection = db_pool - .get() - .await - .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("timeout: {}", e)))?; - let sql: Statement = connection - .prepare(&format!("SELECT id FROM {} LIMIT {}", TABLE_NAME, limit)) - .await?; - let rows: Vec = connection.query(&sql, &[]).await?; - return Ok(rows); +) -> Result, SqlxError> { + let sql: String = format!("SELECT id FROM {} LIMIT {}", TABLE_NAME, limit); + let res: Result, SqlxError> = sqlx::query(&sql).fetch_all(db_pool).await; + return res; } diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index fca97cb9476..d1ab51ac88a 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -8,8 +8,6 @@ pub(crate) mod server; pub(crate) mod r#type; pub(crate) mod utils; -pub(crate) use bb8::{Pool, PooledConnection}; -pub(crate) use bb8_postgres::PostgresConnectionManager; pub(crate) use chrono::{DateTime, Utc}; pub(crate) use constant::*; pub(crate) use db::*; @@ -28,17 +26,15 @@ pub(crate) use request_middleware::*; pub(crate) use response_middleware::*; pub(crate) use route::*; pub(crate) use server::*; +pub(crate) use sqlx::{postgres::PgRow, Error as SqlxError, PgPool, Pool, Postgres, Row}; pub(crate) use std::{ borrow::Cow, collections::HashMap, error::Error, fmt::{self, Write}, - io, sync::Arc, - time::Duration, time::SystemTime, }; -pub(crate) use tokio_postgres::{Config, NoTls, Row, Statement}; pub(crate) use utils::*; #[tokio::main] diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 2618fec1083..07d1f87fd21 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -51,7 +51,7 @@ pub async fn queries(controller_data: ControllerData) { #[inline] pub async fn fortunes(controller_data: ControllerData) { - let all_rows: Vec = all_world_row().await.unwrap_or_default(); + let all_rows: Vec = all_world_row().await; let mut fortunes_list: Vec = all_rows .iter() .map(|row| { diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 20ec4d01a2f..d6045794c64 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -7,7 +7,7 @@ pub async fn run_server() { server.port(8080).await; server.log_dir("./logs").await; server.log_interval_millis(1_000_000_000).await; - server.disable_print().await; + // server.disable_print().await; server.route("/json", json).await; server.route("/plaintext", plaintext).await; server.route("/db", db).await; diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index dd9ae6e1a45..df2d4e3e457 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -1,7 +1,6 @@ use crate::*; -pub type DbPoolConnection = Pool>; -pub type DbConnection<'a> = PooledConnection<'a, PostgresConnectionManager>; +pub type DbPoolConnection = Pool; pub type Queries = i32; #[allow(bad_style)] From 299faa3dc6c16ac1324c120c2d5073cea12a26ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 20:36:05 +0800 Subject: [PATCH 026/260] feat: update --- frameworks/Rust/hyperlane/src/db.rs | 11 +++++++++-- frameworks/Rust/hyperlane/src/main.rs | 10 ++++++++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 89cab1e6b68..2bc9b52ec51 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -71,7 +71,11 @@ pub async fn connection_db() -> DbPoolConnection { DATABASE_NAME ), }; - let pool: DbPoolConnection = PgPool::connect(db_url).await.unwrap(); + let pool: DbPoolConnection = PgPoolOptions::new() + .max_connections(1_000) + .connect(db_url) + .await + .unwrap(); pool } @@ -160,7 +164,10 @@ pub async fn random_world_row(db_pool: &DbPoolConnection) -> Result Result, Box> { let db_pool: DbPoolConnection = get_db_connection().await; let sql: String = UPDATE_SQL.read().await.get(&limit).unwrap().clone(); - let _ = sqlx::query(&sql).execute(&db_pool).await; + let _ = spawn_blocking(move || async move { + let _ = sqlx::query(&sql).execute(&db_pool).await; + }) + .await?; let list: Vec = UPDATE_QUERY_SQL.read().await.get(&limit).cloned().unwrap(); Ok(list) } diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index d1ab51ac88a..e03b41b1ca0 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -16,7 +16,10 @@ pub(crate) use hyperlane::{ once_cell::sync::Lazy, serde::*, serde_json::json, - tokio::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard}, + tokio::{ + sync::{RwLock, RwLockReadGuard, RwLockWriteGuard}, + task::spawn_blocking, + }, *, }; pub(crate) use lazy::*; @@ -26,7 +29,10 @@ pub(crate) use request_middleware::*; pub(crate) use response_middleware::*; pub(crate) use route::*; pub(crate) use server::*; -pub(crate) use sqlx::{postgres::PgRow, Error as SqlxError, PgPool, Pool, Postgres, Row}; +pub(crate) use sqlx::{ + postgres::{PgPoolOptions, PgRow}, + Error as SqlxError, Pool, Postgres, Row, +}; pub(crate) use std::{ borrow::Cow, collections::HashMap, From c1adf76ee124ba8499ace8b8b10c598c5a0337ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 20:58:19 +0800 Subject: [PATCH 027/260] feat: update --- frameworks/Rust/hyperlane/src/constant.rs | 2 +- frameworks/Rust/hyperlane/src/db.rs | 5 ++--- frameworks/Rust/hyperlane/src/main.rs | 2 +- frameworks/Rust/hyperlane/src/server.rs | 2 +- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/constant.rs b/frameworks/Rust/hyperlane/src/constant.rs index a6cd3fe94a2..161b12d5de6 100644 --- a/frameworks/Rust/hyperlane/src/constant.rs +++ b/frameworks/Rust/hyperlane/src/constant.rs @@ -9,4 +9,4 @@ pub static TABLE_NAME: &str = "World"; pub static ROW_LIMIT: i32 = 500; pub static RANDOM_MAX: i32 = 10_000; pub static KEY_ID: &str = "id"; -pub static KEY_RANDOM_NUMBER: &str = "randomNumber"; +pub static KEY_RANDOM_NUMBER: &str = "randomnumber"; diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 2bc9b52ec51..4c07b57a986 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -164,10 +164,9 @@ pub async fn random_world_row(db_pool: &DbPoolConnection) -> Result Result, Box> { let db_pool: DbPoolConnection = get_db_connection().await; let sql: String = UPDATE_SQL.read().await.get(&limit).unwrap().clone(); - let _ = spawn_blocking(move || async move { + spawn(async move { let _ = sqlx::query(&sql).execute(&db_pool).await; - }) - .await?; + }); let list: Vec = UPDATE_QUERY_SQL.read().await.get(&limit).cloned().unwrap(); Ok(list) } diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index e03b41b1ca0..ebc05dd03b1 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -18,7 +18,7 @@ pub(crate) use hyperlane::{ serde_json::json, tokio::{ sync::{RwLock, RwLockReadGuard, RwLockWriteGuard}, - task::spawn_blocking, + task::spawn, }, *, }; diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index d6045794c64..20ec4d01a2f 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -7,7 +7,7 @@ pub async fn run_server() { server.port(8080).await; server.log_dir("./logs").await; server.log_interval_millis(1_000_000_000).await; - // server.disable_print().await; + server.disable_print().await; server.route("/json", json).await; server.route("/plaintext", plaintext).await; server.route("/db", db).await; From 96c65fe65c7ad817add90311d4c7f51df9ef4666 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 21:33:14 +0800 Subject: [PATCH 028/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 189 ++++++++++++++++++++++--- frameworks/Rust/hyperlane/Cargo.toml | 2 +- frameworks/Rust/hyperlane/src/db.rs | 51 +++---- frameworks/Rust/hyperlane/src/lazy.rs | 4 - frameworks/Rust/hyperlane/src/main.rs | 11 +- frameworks/Rust/hyperlane/src/route.rs | 12 +- frameworks/Rust/hyperlane/src/type.rs | 25 ---- 7 files changed, 203 insertions(+), 91 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index c641a62dc3f..836b48d2c5a 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -296,6 +296,41 @@ dependencies = [ "typenum", ] +[[package]] +name = "darling" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +dependencies = [ + "darling_core", + "quote", + "syn", +] + [[package]] name = "der" version = "0.7.9" @@ -307,6 +342,37 @@ dependencies = [ "zeroize", ] +[[package]] +name = "derive_builder" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" +dependencies = [ + "derive_builder_macro", +] + +[[package]] +name = "derive_builder_core" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "derive_builder_macro" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" +dependencies = [ + "derive_builder_core", + "syn", +] + [[package]] name = "digest" version = "0.10.7" @@ -358,7 +424,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -428,6 +494,12 @@ dependencies = [ "spin", ] +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + [[package]] name = "foldhash" version = "0.1.4" @@ -594,6 +666,22 @@ dependencies = [ "serde", ] +[[package]] +name = "handlebars" +version = "6.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d752747ddabc4c1a70dd28e72f2e3c218a816773e0d7faf67433f1acfa6cba7c" +dependencies = [ + "derive_builder", + "log", + "num-order", + "pest", + "pest_derive", + "serde", + "serde_json", + "thiserror 2.0.12", +] + [[package]] name = "hashbrown" version = "0.14.5" @@ -663,15 +751,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "html-escape" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d1ad449764d627e22bfd7cd5e8868264fc9236e07c752972b4080cd351cb476" -dependencies = [ - "utf8-width", -] - [[package]] name = "http-compress" version = "2.3.5" @@ -757,7 +836,7 @@ name = "hyperlane_techempower" version = "0.0.1" dependencies = [ "chrono", - "html-escape", + "handlebars", "hyperlane", "rand 0.9.0", "serde", @@ -905,6 +984,12 @@ dependencies = [ "syn", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "1.0.3" @@ -1095,6 +1180,21 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-modular" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17bb261bf36fa7d83f4c294f834e91256769097b3cb505d44831e0a179ac647f" + +[[package]] +name = "num-order" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "537b596b97c40fcf8056d153049eb22f481c17ebce72a513ec9286e4986d1bb6" +dependencies = [ + "num-modular", +] + [[package]] name = "num-traits" version = "0.2.19" @@ -1164,6 +1264,51 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +[[package]] +name = "pest" +version = "2.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" +dependencies = [ + "memchr", + "thiserror 2.0.12", + "ucd-trie", +] + +[[package]] +name = "pest_derive" +version = "2.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "816518421cfc6887a0d62bf441b6ffb4536fcc926395a69e1a85852d4363f57e" +dependencies = [ + "pest", + "pest_generator", +] + +[[package]] +name = "pest_generator" +version = "2.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d1396fd3a870fc7838768d171b4616d5c91f6cc25e377b673d714567d99377b" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pest_meta" +version = "2.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1e58089ea25d717bfd31fb534e4f3afcc2cc569c70de3e239778991ea3b7dea" +dependencies = [ + "once_cell", + "pest", + "sha2", +] + [[package]] name = "pin-project-lite" version = "0.2.16" @@ -1375,7 +1520,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1786,6 +1931,12 @@ dependencies = [ "unicode-properties", ] +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + [[package]] name = "subtle" version = "2.6.1" @@ -1824,7 +1975,7 @@ dependencies = [ "getrandom 0.3.1", "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1970,6 +2121,12 @@ version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" +[[package]] +name = "ucd-trie" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" + [[package]] name = "unicode-bidi" version = "0.3.18" @@ -2014,12 +2171,6 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" -[[package]] -name = "utf8-width" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3" - [[package]] name = "utf8_iter" version = "1.0.4" diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 4046a66c754..722562efae1 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -22,8 +22,8 @@ hyperlane = "4.33.0" rand = "0.9.0" chrono = "0.4.40" serde = "1.0.219" -html-escape = "0.2.13" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } +handlebars = "6.3.1" [profile.dev] incremental = false diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 4c07b57a986..fd4b477e487 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -100,35 +100,28 @@ pub async fn init_query_all_state() { } #[inline] -pub async fn init_update_state() { +pub async fn get_update_data(limit: Queries) -> (String, Vec) { let db_pool: DbPoolConnection = get_db_connection().await; - let mut update_sql: RwLockWriteGuard<'_, HashMap> = UPDATE_SQL.write().await; - let mut update_query_sql: RwLockWriteGuard<'_, HashMap>> = - UPDATE_QUERY_SQL.write().await; - for limit in 1..=ROW_LIMIT { - let limit: Queries = limit as Queries; - let mut query_res_list: Vec = Vec::with_capacity(limit as usize); - let rows: Vec = get_some_row_id(limit, &db_pool).await.unwrap_or_default(); - let mut query: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME); - let mut id_list: Vec = Vec::with_capacity(limit as usize); - let mut value_list: String = String::new(); - let mut id_in_clause: String = String::new(); - for (i, row) in rows.iter().enumerate() { - let new_random_number: i32 = rand::rng().random_range(1..RANDOM_MAX); - let id: i32 = row.get(KEY_ID); - id_list.push(id); - value_list.push_str(&format!("WHEN {} THEN {} ", id, new_random_number)); - if i > 0 { - id_in_clause.push_str(", "); - } - id_in_clause.push_str(&id.to_string()); - query_res_list.push(QueryRow::new(id, new_random_number)); + let mut query_res_list: Vec = Vec::with_capacity(limit as usize); + let rows: Vec = get_some_row_id(limit, &db_pool).await.unwrap_or_default(); + let mut query: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME); + let mut id_list: Vec = Vec::with_capacity(limit as usize); + let mut value_list: String = String::new(); + let mut id_in_clause: String = String::new(); + for (i, row) in rows.iter().enumerate() { + let new_random_number: i32 = rand::rng().random_range(1..RANDOM_MAX); + let id: i32 = row.get(KEY_ID); + id_list.push(id); + value_list.push_str(&format!("WHEN {} THEN {} ", id, new_random_number)); + if i > 0 { + id_in_clause.push_str(", "); } - query.push_str(&value_list); - query.push_str(&format!("END WHERE id IN ({})", id_in_clause)); - update_query_sql.insert(limit, query_res_list); - update_sql.insert(limit, query); + id_in_clause.push_str(&id.to_string()); + query_res_list.push(QueryRow::new(id, new_random_number)); } + query.push_str(&value_list); + query.push_str(&format!("END WHERE id IN ({})", id_in_clause)); + (query, query_res_list) } #[inline] @@ -145,7 +138,6 @@ pub async fn init_db() { } init_query_state().await; init_query_all_state().await; - init_update_state().await; } #[inline] @@ -163,12 +155,11 @@ pub async fn random_world_row(db_pool: &DbPoolConnection) -> Result Result, Box> { let db_pool: DbPoolConnection = get_db_connection().await; - let sql: String = UPDATE_SQL.read().await.get(&limit).unwrap().clone(); + let (sql, data) = get_update_data(limit).await; spawn(async move { let _ = sqlx::query(&sql).execute(&db_pool).await; }); - let list: Vec = UPDATE_QUERY_SQL.read().await.get(&limit).cloned().unwrap(); - Ok(list) + Ok(data) } #[inline] diff --git a/frameworks/Rust/hyperlane/src/lazy.rs b/frameworks/Rust/hyperlane/src/lazy.rs index ffefbf9bcb9..00739cf4f48 100644 --- a/frameworks/Rust/hyperlane/src/lazy.rs +++ b/frameworks/Rust/hyperlane/src/lazy.rs @@ -2,10 +2,6 @@ use crate::*; pub static DB: Lazy>> = Lazy::new(|| Arc::new(RwLock::new(None))); -pub static UPDATE_SQL: Lazy>> = - Lazy::new(|| arc_rwlock(HashMap::new())); -pub static UPDATE_QUERY_SQL: Lazy>>> = - Lazy::new(|| arc_rwlock(HashMap::new())); pub static QUERY_SQL: Lazy>> = Lazy::new(|| arc_rwlock(HashMap::new())); pub static QUERY_ALL_SQL: Lazy> = Lazy::new(|| arc_rwlock(String::new())); diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index ebc05dd03b1..0f645528a02 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -11,7 +11,7 @@ pub(crate) mod utils; pub(crate) use chrono::{DateTime, Utc}; pub(crate) use constant::*; pub(crate) use db::*; -pub(crate) use html_escape::encode_text; +pub(crate) use handlebars::Handlebars; pub(crate) use hyperlane::{ once_cell::sync::Lazy, serde::*, @@ -33,14 +33,7 @@ pub(crate) use sqlx::{ postgres::{PgPoolOptions, PgRow}, Error as SqlxError, Pool, Postgres, Row, }; -pub(crate) use std::{ - borrow::Cow, - collections::HashMap, - error::Error, - fmt::{self, Write}, - sync::Arc, - time::SystemTime, -}; +pub(crate) use std::{collections::HashMap, error::Error, sync::Arc, time::SystemTime}; pub(crate) use utils::*; #[tokio::main] diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 07d1f87fd21..7452799f819 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -70,12 +70,18 @@ pub async fn fortunes(controller_data: ControllerData) { let message_b: &String = &b.message; message_a.cmp(message_b) }); - let mut res: String = String::with_capacity(20480); - let _ = write!(&mut res, "{}", FortunesTemplate::new(fortunes_list)); + let template: &str = include_str!("../templates/fortune.hbs"); + let mut handlebars: Handlebars<'_> = Handlebars::new(); + handlebars + .register_template_string("fortunes", template) + .unwrap(); + let mut data: HashMap<&str, Vec> = HashMap::new(); + data.insert("fortunes", fortunes_list); + let result: String = handlebars.render("fortunes", &data).unwrap(); controller_data .set_response_header(CONTENT_TYPE, format!("{}; {}", TEXT_HTML, CHARSET_UTF_8)) .await - .set_response_body(res) + .set_response_body(result) .await; } diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index df2d4e3e457..6fd18c1e330 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -32,28 +32,3 @@ impl Fortunes { Self { id, message } } } - -pub struct FortunesTemplate { - pub fortunes_list: Vec, -} - -impl FortunesTemplate { - pub fn new(fortunes_list: Vec) -> Self { - Self { fortunes_list } - } -} - -impl fmt::Display for FortunesTemplate { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "Fortunes
idmessage
{}{}
")?; - for fortunes in &self.fortunes_list { - let decoded_message: Cow<'_, str> = encode_text(&fortunes.message); - write!( - f, - "", - fortunes.id, decoded_message - )?; - } - write!(f, "
idmessage
{}{}
") - } -} From 9930a3685b37d4f5bcfe13b85d65a82dc4c6b50a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 21:44:50 +0800 Subject: [PATCH 029/260] feat: update --- frameworks/Rust/hyperlane/src/route.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 7452799f819..0d8c7f6d0ee 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -65,11 +65,7 @@ pub async fn fortunes(controller_data: ControllerData) { 0, "Additional fortune added at request time.".to_owned(), )); - fortunes_list.sort_by(|a, b| { - let message_a: &String = &a.message; - let message_b: &String = &b.message; - message_a.cmp(message_b) - }); + fortunes_list.sort_by_key(|f| f.message.clone()); let template: &str = include_str!("../templates/fortune.hbs"); let mut handlebars: Handlebars<'_> = Handlebars::new(); handlebars From fe8bef4d6da3dc806543154582a609159c6ac229 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 21:50:02 +0800 Subject: [PATCH 030/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 195 ++++--------------------- frameworks/Rust/hyperlane/Cargo.toml | 3 +- frameworks/Rust/hyperlane/src/main.rs | 3 +- frameworks/Rust/hyperlane/src/route.rs | 38 ++++- 4 files changed, 61 insertions(+), 178 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 836b48d2c5a..ca3c194d1e3 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -296,41 +296,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "darling" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn", -] - -[[package]] -name = "darling_macro" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" -dependencies = [ - "darling_core", - "quote", - "syn", -] - [[package]] name = "der" version = "0.7.9" @@ -342,37 +307,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "derive_builder" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" -dependencies = [ - "derive_builder_macro", -] - -[[package]] -name = "derive_builder_core" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "derive_builder_macro" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" -dependencies = [ - "derive_builder_core", - "syn", -] - [[package]] name = "digest" version = "0.10.7" @@ -494,12 +428,6 @@ dependencies = [ "spin", ] -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - [[package]] name = "foldhash" version = "0.1.4" @@ -666,22 +594,6 @@ dependencies = [ "serde", ] -[[package]] -name = "handlebars" -version = "6.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d752747ddabc4c1a70dd28e72f2e3c218a816773e0d7faf67433f1acfa6cba7c" -dependencies = [ - "derive_builder", - "log", - "num-order", - "pest", - "pest_derive", - "serde", - "serde_json", - "thiserror 2.0.12", -] - [[package]] name = "hashbrown" version = "0.14.5" @@ -836,11 +748,12 @@ name = "hyperlane_techempower" version = "0.0.1" dependencies = [ "chrono", - "handlebars", "hyperlane", + "markup", "rand 0.9.0", "serde", "sqlx", + "v_htmlescape", ] [[package]] @@ -984,12 +897,6 @@ dependencies = [ "syn", ] -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - [[package]] name = "idna" version = "1.0.3" @@ -1107,6 +1014,26 @@ dependencies = [ "syn", ] +[[package]] +name = "markup" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74a887ad620fe1022257343ac77fcdd3720e92888e1b2e66e1b7a4707f453898" +dependencies = [ + "markup-proc-macro", +] + +[[package]] +name = "markup-proc-macro" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ab6ee21fd1855134cacf2f41afdf45f1bc456c7d7f6165d763b4647062dd2be" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "md-5" version = "0.10.6" @@ -1180,21 +1107,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-modular" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17bb261bf36fa7d83f4c294f834e91256769097b3cb505d44831e0a179ac647f" - -[[package]] -name = "num-order" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "537b596b97c40fcf8056d153049eb22f481c17ebce72a513ec9286e4986d1bb6" -dependencies = [ - "num-modular", -] - [[package]] name = "num-traits" version = "0.2.19" @@ -1264,51 +1176,6 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" -[[package]] -name = "pest" -version = "2.7.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" -dependencies = [ - "memchr", - "thiserror 2.0.12", - "ucd-trie", -] - -[[package]] -name = "pest_derive" -version = "2.7.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "816518421cfc6887a0d62bf441b6ffb4536fcc926395a69e1a85852d4363f57e" -dependencies = [ - "pest", - "pest_generator", -] - -[[package]] -name = "pest_generator" -version = "2.7.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d1396fd3a870fc7838768d171b4616d5c91f6cc25e377b673d714567d99377b" -dependencies = [ - "pest", - "pest_meta", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "pest_meta" -version = "2.7.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1e58089ea25d717bfd31fb534e4f3afcc2cc569c70de3e239778991ea3b7dea" -dependencies = [ - "once_cell", - "pest", - "sha2", -] - [[package]] name = "pin-project-lite" version = "0.2.16" @@ -1931,12 +1798,6 @@ dependencies = [ "unicode-properties", ] -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - [[package]] name = "subtle" version = "2.6.1" @@ -2121,12 +1982,6 @@ version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" -[[package]] -name = "ucd-trie" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" - [[package]] name = "unicode-bidi" version = "0.3.18" @@ -2177,6 +2032,12 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" +[[package]] +name = "v_htmlescape" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e8257fbc510f0a46eb602c10215901938b5c2a7d5e70fc11483b1d3c9b5b18c" + [[package]] name = "value-trait" version = "0.10.1" diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 722562efae1..67cbbc82244 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -23,7 +23,8 @@ rand = "0.9.0" chrono = "0.4.40" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } -handlebars = "6.3.1" +markup = "0.15.0" +v_htmlescape = "0.15.8" [profile.dev] incremental = false diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 0f645528a02..db29b0f05c5 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -11,7 +11,6 @@ pub(crate) mod utils; pub(crate) use chrono::{DateTime, Utc}; pub(crate) use constant::*; pub(crate) use db::*; -pub(crate) use handlebars::Handlebars; pub(crate) use hyperlane::{ once_cell::sync::Lazy, serde::*, @@ -33,7 +32,7 @@ pub(crate) use sqlx::{ postgres::{PgPoolOptions, PgRow}, Error as SqlxError, Pool, Postgres, Row, }; -pub(crate) use std::{collections::HashMap, error::Error, sync::Arc, time::SystemTime}; +pub(crate) use std::{collections::HashMap, error::Error, fmt::Write, sync::Arc, time::SystemTime}; pub(crate) use utils::*; #[tokio::main] diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 0d8c7f6d0ee..a46af9ecdb1 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -49,6 +49,28 @@ pub async fn queries(controller_data: ControllerData) { .await; } +markup::define! { + FortunesTemplate(fortunes: Vec) { + {markup::doctype()} + html { + head { + title { "Fortunes" } + } + body { + table { + tr { th { "id" } th { "message" } } + @for item in fortunes { + tr { + td { {item.id} } + td { {markup::raw(v_htmlescape::escape(&item.message))} } + } + } + } + } + } + } +} + #[inline] pub async fn fortunes(controller_data: ControllerData) { let all_rows: Vec = all_world_row().await; @@ -66,14 +88,14 @@ pub async fn fortunes(controller_data: ControllerData) { "Additional fortune added at request time.".to_owned(), )); fortunes_list.sort_by_key(|f| f.message.clone()); - let template: &str = include_str!("../templates/fortune.hbs"); - let mut handlebars: Handlebars<'_> = Handlebars::new(); - handlebars - .register_template_string("fortunes", template) - .unwrap(); - let mut data: HashMap<&str, Vec> = HashMap::new(); - data.insert("fortunes", fortunes_list); - let result: String = handlebars.render("fortunes", &data).unwrap(); + let mut result: String = String::with_capacity(2048); + let _ = write!( + &mut result, + "{}", + FortunesTemplate { + fortunes: fortunes_list + } + ); controller_data .set_response_header(CONTENT_TYPE, format!("{}; {}", TEXT_HTML, CHARSET_UTF_8)) .await From efa40a96d437319f54ea25cdd23aa8b8197669ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 21:53:11 +0800 Subject: [PATCH 031/260] feat: update --- frameworks/Rust/hyperlane/src/route.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index a46af9ecdb1..473a8c873c0 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -87,7 +87,7 @@ pub async fn fortunes(controller_data: ControllerData) { 0, "Additional fortune added at request time.".to_owned(), )); - fortunes_list.sort_by_key(|f| f.message.clone()); + fortunes_list.sort_by(|it, next| it.message.cmp(&next.message)); let mut result: String = String::with_capacity(2048); let _ = write!( &mut result, From 382f535c208ff35d2ab09de156e505a6732e6b77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 21:54:58 +0800 Subject: [PATCH 032/260] feat: update --- frameworks/Rust/hyperlane/src/db.rs | 9 +-------- frameworks/Rust/hyperlane/src/lazy.rs | 1 - frameworks/Rust/hyperlane/src/main.rs | 2 +- 3 files changed, 2 insertions(+), 10 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index fd4b477e487..7d06418363e 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -93,12 +93,6 @@ pub async fn init_query_state() { } } -#[inline] -pub async fn init_query_all_state() { - let mut query_all_sql: RwLockWriteGuard<'_, String> = QUERY_ALL_SQL.write().await; - *query_all_sql = format!("SELECT id, randomNumber FROM {}", TABLE_NAME); -} - #[inline] pub async fn get_update_data(limit: Queries) -> (String, Vec) { let db_pool: DbPoolConnection = get_db_connection().await; @@ -137,7 +131,6 @@ pub async fn init_db() { insert_records().await; } init_query_state().await; - init_query_all_state().await; } #[inline] @@ -165,7 +158,7 @@ pub async fn update_world_rows(limit: Queries) -> Result, Box Vec { let db_pool: DbPoolConnection = get_db_connection().await; - let query_all_sql: RwLockReadGuard<'_, String> = QUERY_ALL_SQL.read().await; + let query_all_sql: String = format!("SELECT id, randomNumber FROM {}", TABLE_NAME); let sql: String = query_all_sql.clone(); let res: Vec = sqlx::query(&sql) .fetch_all(&db_pool) diff --git a/frameworks/Rust/hyperlane/src/lazy.rs b/frameworks/Rust/hyperlane/src/lazy.rs index 00739cf4f48..9cb0f52e158 100644 --- a/frameworks/Rust/hyperlane/src/lazy.rs +++ b/frameworks/Rust/hyperlane/src/lazy.rs @@ -4,4 +4,3 @@ pub static DB: Lazy>> = Lazy::new(|| Arc::new(RwLock::new(None))); pub static QUERY_SQL: Lazy>> = Lazy::new(|| arc_rwlock(HashMap::new())); -pub static QUERY_ALL_SQL: Lazy> = Lazy::new(|| arc_rwlock(String::new())); diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index db29b0f05c5..ed44e8b3e92 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -16,7 +16,7 @@ pub(crate) use hyperlane::{ serde::*, serde_json::json, tokio::{ - sync::{RwLock, RwLockReadGuard, RwLockWriteGuard}, + sync::{RwLock, RwLockWriteGuard}, task::spawn, }, *, From f6397370eb514bcf94c2dc28db9719363dafdd99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 22:18:17 +0800 Subject: [PATCH 033/260] feat: update --- frameworks/Rust/hyperlane/src/db.rs | 8 ++++---- frameworks/Rust/hyperlane/src/route.rs | 3 +-- frameworks/Rust/hyperlane/src/type.rs | 4 ++-- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 7d06418363e..ebda961b5b2 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -21,7 +21,7 @@ pub async fn create_table() { let db_pool: DbPoolConnection = get_db_connection().await; let _ = sqlx::query(&format!( "CREATE TABLE IF NOT EXISTS {} ( - id SERIAL PRIMARY KEY, randomNumber INTEGER NOT NULL + id SERIAL PRIMARY KEY, randomNumber VARCHAR NOT NULL );", TABLE_NAME )) @@ -103,7 +103,7 @@ pub async fn get_update_data(limit: Queries) -> (String, Vec) { let mut value_list: String = String::new(); let mut id_in_clause: String = String::new(); for (i, row) in rows.iter().enumerate() { - let new_random_number: i32 = rand::rng().random_range(1..RANDOM_MAX); + let new_random_number: String = rand::rng().random_range(1..RANDOM_MAX).to_string(); let id: i32 = row.get(KEY_ID); id_list.push(id); value_list.push_str(&format!("WHEN {} THEN {} ", id, new_random_number)); @@ -139,10 +139,10 @@ pub async fn random_world_row(db_pool: &DbPoolConnection) -> Result Self { + pub fn new(id: i32, random_number: String) -> Self { Self { id, randomNumber: random_number, From c69e72ebd243e11daba9103dad05c142a0cbc982 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 22:34:08 +0800 Subject: [PATCH 034/260] feat: update --- frameworks/Rust/hyperlane/src/server.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 20ec4d01a2f..d6045794c64 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -7,7 +7,7 @@ pub async fn run_server() { server.port(8080).await; server.log_dir("./logs").await; server.log_interval_millis(1_000_000_000).await; - server.disable_print().await; + // server.disable_print().await; server.route("/json", json).await; server.route("/plaintext", plaintext).await; server.route("/db", db).await; From 2eda143d365827c50552fa826155e5daf2a77f0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 22:53:03 +0800 Subject: [PATCH 035/260] feat: update --- frameworks/Rust/hyperlane/src/constant.rs | 3 +- frameworks/Rust/hyperlane/src/db.rs | 41 +++++++++++++++++------ frameworks/Rust/hyperlane/src/route.rs | 4 +-- frameworks/Rust/hyperlane/src/server.rs | 2 +- frameworks/Rust/hyperlane/src/type.rs | 4 +-- 5 files changed, 37 insertions(+), 17 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/constant.rs b/frameworks/Rust/hyperlane/src/constant.rs index 161b12d5de6..f369b8f395c 100644 --- a/frameworks/Rust/hyperlane/src/constant.rs +++ b/frameworks/Rust/hyperlane/src/constant.rs @@ -5,7 +5,8 @@ pub static DATABASE_USER_NAME: &str = "benchmarkdbuser"; pub static DATABASE_USER_PASSWORD: &str = "benchmarkdbpass"; pub static DATABASE_PORT: usize = 5_432; pub static DATABASE_NAME: &str = "hello_world"; -pub static TABLE_NAME: &str = "World"; +pub static TABLE_NAME_WORLD: &str = "World"; +pub static TABLE_NAME_FORTUNE: &str = "Fortune"; pub static ROW_LIMIT: i32 = 500; pub static RANDOM_MAX: i32 = 10_000; pub static KEY_ID: &str = "id"; diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index ebda961b5b2..76305896d3a 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -21,9 +21,17 @@ pub async fn create_table() { let db_pool: DbPoolConnection = get_db_connection().await; let _ = sqlx::query(&format!( "CREATE TABLE IF NOT EXISTS {} ( - id SERIAL PRIMARY KEY, randomNumber VARCHAR NOT NULL + id SERIAL PRIMARY KEY, randomNumber INT NOT NULL );", - TABLE_NAME + TABLE_NAME_WORLD + )) + .execute(&db_pool) + .await; + let _ = sqlx::query(&format!( + "CREATE TABLE IF NOT EXISTS {} ( + id SERIAL PRIMARY KEY, message VARCHAR NOT NULL + );", + TABLE_NAME_FORTUNE )) .execute(&db_pool) .await; @@ -33,7 +41,7 @@ pub async fn create_table() { #[cfg(feature = "dev")] pub async fn insert_records() { let db_pool: DbPoolConnection = get_db_connection().await; - let row: PgRow = sqlx::query(&format!("SELECT COUNT(*) FROM {}", TABLE_NAME)) + let row: PgRow = sqlx::query(&format!("SELECT COUNT(*) FROM {}", TABLE_NAME_WORLD)) .fetch_one(&db_pool) .await .unwrap(); @@ -51,7 +59,18 @@ pub async fn insert_records() { } let query: String = format!( "INSERT INTO {} (id, randomNumber) VALUES {}", - TABLE_NAME, + TABLE_NAME_WORLD, + values.join(",") + ); + let _ = sqlx::query(&query).execute(&db_pool).await; + let mut values: Vec = Vec::new(); + for _ in 0..missing_count { + let random_number: String = rng.random_range(1..=RANDOM_MAX).to_string(); + values.push(format!("(DEFAULT, {})", random_number)); + } + let query: String = format!( + "INSERT INTO {} (id, message) VALUES {}", + TABLE_NAME_FORTUNE, values.join(",") ); let _ = sqlx::query(&query).execute(&db_pool).await; @@ -87,7 +106,7 @@ pub async fn init_query_state() { random_id, format!( "SELECT id, randomNumber FROM {} WHERE id = {}", - TABLE_NAME, random_id + TABLE_NAME_WORLD, random_id ), ); } @@ -98,12 +117,12 @@ pub async fn get_update_data(limit: Queries) -> (String, Vec) { let db_pool: DbPoolConnection = get_db_connection().await; let mut query_res_list: Vec = Vec::with_capacity(limit as usize); let rows: Vec = get_some_row_id(limit, &db_pool).await.unwrap_or_default(); - let mut query: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME); + let mut query: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME_WORLD); let mut id_list: Vec = Vec::with_capacity(limit as usize); let mut value_list: String = String::new(); let mut id_in_clause: String = String::new(); for (i, row) in rows.iter().enumerate() { - let new_random_number: String = rand::rng().random_range(1..RANDOM_MAX).to_string(); + let new_random_number: i32 = rand::rng().random_range(1..RANDOM_MAX); let id: i32 = row.get(KEY_ID); id_list.push(id); value_list.push_str(&format!("WHEN {} THEN {} ", id, new_random_number)); @@ -139,10 +158,10 @@ pub async fn random_world_row(db_pool: &DbPoolConnection) -> Result Result, Box Vec { let db_pool: DbPoolConnection = get_db_connection().await; - let query_all_sql: String = format!("SELECT id, randomNumber FROM {}", TABLE_NAME); + let query_all_sql: String = format!("SELECT id, randomNumber FROM {}", TABLE_NAME_FORTUNE); let sql: String = query_all_sql.clone(); let res: Vec = sqlx::query(&sql) .fetch_all(&db_pool) @@ -172,7 +191,7 @@ pub async fn get_some_row_id( limit: Queries, db_pool: &DbPoolConnection, ) -> Result, SqlxError> { - let sql: String = format!("SELECT id FROM {} LIMIT {}", TABLE_NAME, limit); + let sql: String = format!("SELECT id FROM {} LIMIT {}", TABLE_NAME_WORLD, limit); let res: Result, SqlxError> = sqlx::query(&sql).fetch_all(db_pool).await; return res; } diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index e626bfac5a2..c0ef460760e 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -77,8 +77,8 @@ pub async fn fortunes(controller_data: ControllerData) { let mut fortunes_list: Vec = all_rows .iter() .map(|row| { - let id: i32 = row.get(0); - let message: String = row.get(1); + let id: i32 = row.get(KEY_ID); + let message: String = row.get(KEY_RANDOM_NUMBER); Fortunes::new(id, message) }) .collect(); diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index d6045794c64..20ec4d01a2f 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -7,7 +7,7 @@ pub async fn run_server() { server.port(8080).await; server.log_dir("./logs").await; server.log_interval_millis(1_000_000_000).await; - // server.disable_print().await; + server.disable_print().await; server.route("/json", json).await; server.route("/plaintext", plaintext).await; server.route("/db", db).await; diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index 8f636d6b66b..6fd18c1e330 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -7,12 +7,12 @@ pub type Queries = i32; #[derive(Serialize, Default, Clone)] pub struct QueryRow { pub id: i32, - pub randomNumber: String, + pub randomNumber: i32, } impl QueryRow { #[inline] - pub fn new(id: i32, random_number: String) -> Self { + pub fn new(id: i32, random_number: i32) -> Self { Self { id, randomNumber: random_number, From 39982ec9fde8bc0bb55a53ebcf193642be47d91e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 23:06:49 +0800 Subject: [PATCH 036/260] feat: update --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- frameworks/Rust/hyperlane/src/db.rs | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 67cbbc82244..64eae3b592e 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -22,7 +22,7 @@ hyperlane = "4.33.0" rand = "0.9.0" chrono = "0.4.40" serde = "1.0.219" -sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } +sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres", "offline"] } markup = "0.15.0" v_htmlescape = "0.15.8" diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 76305896d3a..71baaf80dc4 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -168,9 +168,7 @@ pub async fn random_world_row(db_pool: &DbPoolConnection) -> Result Result, Box> { let db_pool: DbPoolConnection = get_db_connection().await; let (sql, data) = get_update_data(limit).await; - spawn(async move { - let _ = sqlx::query(&sql).execute(&db_pool).await; - }); + let _ = sqlx::query(&sql).execute(&db_pool).await; Ok(data) } From db3f495ee5903676b366154e8813ce1acdbb337a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 23:12:43 +0800 Subject: [PATCH 037/260] feat: update --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- frameworks/Rust/hyperlane/src/main.rs | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 64eae3b592e..67cbbc82244 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -22,7 +22,7 @@ hyperlane = "4.33.0" rand = "0.9.0" chrono = "0.4.40" serde = "1.0.219" -sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres", "offline"] } +sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } markup = "0.15.0" v_htmlescape = "0.15.8" diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index ed44e8b3e92..9e6ed24ae68 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -15,10 +15,7 @@ pub(crate) use hyperlane::{ once_cell::sync::Lazy, serde::*, serde_json::json, - tokio::{ - sync::{RwLock, RwLockWriteGuard}, - task::spawn, - }, + tokio::sync::{RwLock, RwLockWriteGuard}, *, }; pub(crate) use lazy::*; From 374fb85ee04ff341e3db86a59598e792a2bbc3ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 23:32:17 +0800 Subject: [PATCH 038/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 28 ---------------------- frameworks/Rust/hyperlane/Cargo.toml | 2 -- frameworks/Rust/hyperlane/src/main.rs | 2 +- frameworks/Rust/hyperlane/src/route.rs | 33 ++------------------------ frameworks/Rust/hyperlane/src/type.rs | 27 +++++++++++++++++++++ frameworks/Rust/hyperlane/src/utils.rs | 16 +++++++++++++ 6 files changed, 46 insertions(+), 62 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index ca3c194d1e3..97881041abd 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -749,11 +749,9 @@ version = "0.0.1" dependencies = [ "chrono", "hyperlane", - "markup", "rand 0.9.0", "serde", "sqlx", - "v_htmlescape", ] [[package]] @@ -1014,26 +1012,6 @@ dependencies = [ "syn", ] -[[package]] -name = "markup" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74a887ad620fe1022257343ac77fcdd3720e92888e1b2e66e1b7a4707f453898" -dependencies = [ - "markup-proc-macro", -] - -[[package]] -name = "markup-proc-macro" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ab6ee21fd1855134cacf2f41afdf45f1bc456c7d7f6165d763b4647062dd2be" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "md-5" version = "0.10.6" @@ -2032,12 +2010,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" -[[package]] -name = "v_htmlescape" -version = "0.15.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e8257fbc510f0a46eb602c10215901938b5c2a7d5e70fc11483b1d3c9b5b18c" - [[package]] name = "value-trait" version = "0.10.1" diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 67cbbc82244..6c418dbfe6d 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -23,8 +23,6 @@ rand = "0.9.0" chrono = "0.4.40" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } -markup = "0.15.0" -v_htmlescape = "0.15.8" [profile.dev] incremental = false diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 9e6ed24ae68..604a5b64c88 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -29,7 +29,7 @@ pub(crate) use sqlx::{ postgres::{PgPoolOptions, PgRow}, Error as SqlxError, Pool, Postgres, Row, }; -pub(crate) use std::{collections::HashMap, error::Error, fmt::Write, sync::Arc, time::SystemTime}; +pub(crate) use std::{collections::HashMap, error::Error, fmt, sync::Arc, time::SystemTime}; pub(crate) use utils::*; #[tokio::main] diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index c0ef460760e..f69308b6f7c 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -49,28 +49,6 @@ pub async fn queries(controller_data: ControllerData) { .await; } -markup::define! { - FortunesTemplate(fortunes: Vec) { - {markup::doctype()} - html { - head { - title { "Fortunes" } - } - body { - table { - tr { th { "id" } th { "message" } } - @for item in fortunes { - tr { - td { {item.id} } - td { {markup::raw(v_htmlescape::escape(&item.message))} } - } - } - } - } - } - } -} - #[inline] pub async fn fortunes(controller_data: ControllerData) { let all_rows: Vec = all_world_row().await; @@ -87,18 +65,11 @@ pub async fn fortunes(controller_data: ControllerData) { "Additional fortune added at request time.".to_owned(), )); fortunes_list.sort_by(|it, next| it.message.cmp(&next.message)); - let mut result: String = String::with_capacity(2048); - let _ = write!( - &mut result, - "{}", - FortunesTemplate { - fortunes: fortunes_list - } - ); + let res: String = FortunesTemplate::new(fortunes_list).to_string(); controller_data .set_response_header(CONTENT_TYPE, format!("{}; {}", TEXT_HTML, CHARSET_UTF_8)) .await - .set_response_body(result) + .set_response_body(res) .await; } diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index 6fd18c1e330..dcc2d756c4e 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -32,3 +32,30 @@ impl Fortunes { Self { id, message } } } + +#[derive(Serialize)] +pub struct FortunesTemplate(pub Vec); + +impl FortunesTemplate { + #[inline] + pub fn new(list: Vec) -> Self { + Self(list) + } +} + +impl fmt::Display for FortunesTemplate { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let fortunes: &Vec = &self.0; + let _ = write!(f, "Fortunes"); + for tem in fortunes.iter() { + let row: String = format!( + "", + tem.id, + escape_html(&tem.message) + ); + let _ = write!(f, "{}", row); + } + let _ = write!(f, "
idmessage
{}{}
"); + Ok(()) + } +} diff --git a/frameworks/Rust/hyperlane/src/utils.rs b/frameworks/Rust/hyperlane/src/utils.rs index ea37364a8bc..c63e0ddb3c6 100644 --- a/frameworks/Rust/hyperlane/src/utils.rs +++ b/frameworks/Rust/hyperlane/src/utils.rs @@ -5,3 +5,19 @@ pub fn generate_rfc1123_timestamp() -> String { let now: DateTime = SystemTime::now().into(); now.format("%a, %d %b %Y %H:%M:%S GMT").to_string() } + +#[inline] +pub fn escape_html(input: &str) -> String { + let mut result: String = String::new(); + for ch in input.chars() { + match ch { + '<' => result.push_str("<"), + '>' => result.push_str(">"), + '&' => result.push_str("&"), + '"' => result.push_str("""), + '\'' => result.push_str("'"), + _ => result.push(ch), + } + } + result +} From c607a0775d4961f259bc5789e98bb86b9dab6321 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 23:40:18 +0800 Subject: [PATCH 039/260] feat: update --- frameworks/Rust/hyperlane/src/db.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 71baaf80dc4..40fd8164c5f 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -175,7 +175,7 @@ pub async fn update_world_rows(limit: Queries) -> Result, Box Vec { let db_pool: DbPoolConnection = get_db_connection().await; - let query_all_sql: String = format!("SELECT id, randomNumber FROM {}", TABLE_NAME_FORTUNE); + let query_all_sql: String = format!("SELECT id, message FROM {}", TABLE_NAME_FORTUNE); let sql: String = query_all_sql.clone(); let res: Vec = sqlx::query(&sql) .fetch_all(&db_pool) From 332ad4ffdaf142c8477423bdc00b73c67752ffaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 15 Mar 2025 23:50:04 +0800 Subject: [PATCH 040/260] feat: update --- frameworks/Rust/hyperlane/src/constant.rs | 1 + frameworks/Rust/hyperlane/src/db.rs | 23 +++++------------------ frameworks/Rust/hyperlane/src/lazy.rs | 2 -- frameworks/Rust/hyperlane/src/main.rs | 2 +- frameworks/Rust/hyperlane/src/route.rs | 2 +- 5 files changed, 8 insertions(+), 22 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/constant.rs b/frameworks/Rust/hyperlane/src/constant.rs index f369b8f395c..c811a9b843b 100644 --- a/frameworks/Rust/hyperlane/src/constant.rs +++ b/frameworks/Rust/hyperlane/src/constant.rs @@ -11,3 +11,4 @@ pub static ROW_LIMIT: i32 = 500; pub static RANDOM_MAX: i32 = 10_000; pub static KEY_ID: &str = "id"; pub static KEY_RANDOM_NUMBER: &str = "randomnumber"; +pub static KEY_MESSAGE: &str = "message "; diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 40fd8164c5f..d231938b92b 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -98,20 +98,6 @@ pub async fn connection_db() -> DbPoolConnection { pool } -#[inline] -pub async fn init_query_state() { - let mut query_sql: RwLockWriteGuard<'_, HashMap> = QUERY_SQL.write().await; - for random_id in 1..=ROW_LIMIT { - query_sql.insert( - random_id, - format!( - "SELECT id, randomNumber FROM {} WHERE id = {}", - TABLE_NAME_WORLD, random_id - ), - ); - } -} - #[inline] pub async fn get_update_data(limit: Queries) -> (String, Vec) { let db_pool: DbPoolConnection = get_db_connection().await; @@ -149,13 +135,15 @@ pub async fn init_db() { create_table().await; insert_records().await; } - init_query_state().await; } #[inline] pub async fn random_world_row(db_pool: &DbPoolConnection) -> Result> { let random_id: i32 = rand::rng().random_range(1..=ROW_LIMIT); - let sql: String = QUERY_SQL.read().await.get(&random_id).cloned().unwrap(); + let sql: String = format!( + "SELECT id, randomNumber FROM {} WHERE id = {}", + TABLE_NAME_WORLD, random_id + ); if let Ok(rows) = sqlx::query(&sql).fetch_one(db_pool).await { let id: i32 = rows.get(KEY_ID); let random_number: i32 = rows.get(KEY_RANDOM_NUMBER); @@ -175,8 +163,7 @@ pub async fn update_world_rows(limit: Queries) -> Result, Box Vec { let db_pool: DbPoolConnection = get_db_connection().await; - let query_all_sql: String = format!("SELECT id, message FROM {}", TABLE_NAME_FORTUNE); - let sql: String = query_all_sql.clone(); + let sql: String = format!("SELECT id, message FROM {}", TABLE_NAME_FORTUNE); let res: Vec = sqlx::query(&sql) .fetch_all(&db_pool) .await diff --git a/frameworks/Rust/hyperlane/src/lazy.rs b/frameworks/Rust/hyperlane/src/lazy.rs index 9cb0f52e158..5b701e371bd 100644 --- a/frameworks/Rust/hyperlane/src/lazy.rs +++ b/frameworks/Rust/hyperlane/src/lazy.rs @@ -2,5 +2,3 @@ use crate::*; pub static DB: Lazy>> = Lazy::new(|| Arc::new(RwLock::new(None))); -pub static QUERY_SQL: Lazy>> = - Lazy::new(|| arc_rwlock(HashMap::new())); diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 604a5b64c88..98849020ced 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -29,7 +29,7 @@ pub(crate) use sqlx::{ postgres::{PgPoolOptions, PgRow}, Error as SqlxError, Pool, Postgres, Row, }; -pub(crate) use std::{collections::HashMap, error::Error, fmt, sync::Arc, time::SystemTime}; +pub(crate) use std::{error::Error, fmt, sync::Arc, time::SystemTime}; pub(crate) use utils::*; #[tokio::main] diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index f69308b6f7c..1e7f004970a 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -56,7 +56,7 @@ pub async fn fortunes(controller_data: ControllerData) { .iter() .map(|row| { let id: i32 = row.get(KEY_ID); - let message: String = row.get(KEY_RANDOM_NUMBER); + let message: String = row.get(KEY_MESSAGE); Fortunes::new(id, message) }) .collect(); From 2998cdecc1f01d2bb0ea61f22499f40c3393e6ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 07:39:39 +0800 Subject: [PATCH 041/260] feat: update --- frameworks/Rust/hyperlane/src/server.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 20ec4d01a2f..d6045794c64 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -7,7 +7,7 @@ pub async fn run_server() { server.port(8080).await; server.log_dir("./logs").await; server.log_interval_millis(1_000_000_000).await; - server.disable_print().await; + // server.disable_print().await; server.route("/json", json).await; server.route("/plaintext", plaintext).await; server.route("/db", db).await; From 37ebcd104e33bc6563a1e67a4bcf90d63f5e116d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 07:44:44 +0800 Subject: [PATCH 042/260] feat: update --- frameworks/Rust/hyperlane/src/constant.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/constant.rs b/frameworks/Rust/hyperlane/src/constant.rs index c811a9b843b..54ee847daf0 100644 --- a/frameworks/Rust/hyperlane/src/constant.rs +++ b/frameworks/Rust/hyperlane/src/constant.rs @@ -11,4 +11,4 @@ pub static ROW_LIMIT: i32 = 500; pub static RANDOM_MAX: i32 = 10_000; pub static KEY_ID: &str = "id"; pub static KEY_RANDOM_NUMBER: &str = "randomnumber"; -pub static KEY_MESSAGE: &str = "message "; +pub static KEY_MESSAGE: &str = "message"; From c80fd29baa3de0b9b4794f58bdd54409227cf90a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 08:12:01 +0800 Subject: [PATCH 043/260] feat: update --- frameworks/Rust/hyperlane/src/db.rs | 24 +++++++++++++----------- frameworks/Rust/hyperlane/src/main.rs | 7 +++++-- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index d231938b92b..74cd0fe74bd 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -102,14 +102,14 @@ pub async fn connection_db() -> DbPoolConnection { pub async fn get_update_data(limit: Queries) -> (String, Vec) { let db_pool: DbPoolConnection = get_db_connection().await; let mut query_res_list: Vec = Vec::with_capacity(limit as usize); - let rows: Vec = get_some_row_id(limit, &db_pool).await.unwrap_or_default(); + let rows: Vec = get_some_row_id(limit, &db_pool).await; let mut query: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME_WORLD); let mut id_list: Vec = Vec::with_capacity(limit as usize); let mut value_list: String = String::new(); let mut id_in_clause: String = String::new(); for (i, row) in rows.iter().enumerate() { let new_random_number: i32 = rand::rng().random_range(1..RANDOM_MAX); - let id: i32 = row.get(KEY_ID); + let id: i32 = row.id; id_list.push(id); value_list.push_str(&format!("WHEN {} THEN {} ", id, new_random_number)); if i > 0 { @@ -139,7 +139,7 @@ pub async fn init_db() { #[inline] pub async fn random_world_row(db_pool: &DbPoolConnection) -> Result> { - let random_id: i32 = rand::rng().random_range(1..=ROW_LIMIT); + let random_id: i32 = rand::rng().random_range(1..=RANDOM_MAX); let sql: String = format!( "SELECT id, randomNumber FROM {} WHERE id = {}", TABLE_NAME_WORLD, random_id @@ -156,7 +156,9 @@ pub async fn random_world_row(db_pool: &DbPoolConnection) -> Result Result, Box> { let db_pool: DbPoolConnection = get_db_connection().await; let (sql, data) = get_update_data(limit).await; - let _ = sqlx::query(&sql).execute(&db_pool).await; + spawn(async move { + let _ = sqlx::query(&sql).execute(&db_pool).await; + }); Ok(data) } @@ -172,11 +174,11 @@ pub async fn all_world_row() -> Vec { } #[inline] -pub async fn get_some_row_id( - limit: Queries, - db_pool: &DbPoolConnection, -) -> Result, SqlxError> { - let sql: String = format!("SELECT id FROM {} LIMIT {}", TABLE_NAME_WORLD, limit); - let res: Result, SqlxError> = sqlx::query(&sql).fetch_all(db_pool).await; - return res; +pub async fn get_some_row_id(limit: Queries, db_pool: &DbPoolConnection) -> Vec { + let mut res: Vec = Vec::with_capacity(limit as usize); + for _ in 0..limit { + let tem: QueryRow = random_world_row(db_pool).await.unwrap_or_default(); + res.push(tem); + } + res } diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 98849020ced..3d5370476d0 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -15,7 +15,10 @@ pub(crate) use hyperlane::{ once_cell::sync::Lazy, serde::*, serde_json::json, - tokio::sync::{RwLock, RwLockWriteGuard}, + tokio::{ + spawn, + sync::{RwLock, RwLockWriteGuard}, + }, *, }; pub(crate) use lazy::*; @@ -27,7 +30,7 @@ pub(crate) use route::*; pub(crate) use server::*; pub(crate) use sqlx::{ postgres::{PgPoolOptions, PgRow}, - Error as SqlxError, Pool, Postgres, Row, + Pool, Postgres, Row, }; pub(crate) use std::{error::Error, fmt, sync::Arc, time::SystemTime}; pub(crate) use utils::*; From 3ffc0f5809baa3bb0d42760db332a07589a512c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 08:54:46 +0800 Subject: [PATCH 044/260] feat: cache --- frameworks/Rust/hyperlane/README.md | 4 ++++ .../Rust/hyperlane/benchmark_config.json | 1 + frameworks/Rust/hyperlane/src/db.rs | 20 +++++++++++++++++++ frameworks/Rust/hyperlane/src/lazy.rs | 1 + frameworks/Rust/hyperlane/src/route.rs | 19 ++++++++++++++++++ frameworks/Rust/hyperlane/src/server.rs | 1 + 6 files changed, 46 insertions(+) diff --git a/frameworks/Rust/hyperlane/README.md b/frameworks/Rust/hyperlane/README.md index c1447c154b2..362846e9137 100644 --- a/frameworks/Rust/hyperlane/README.md +++ b/frameworks/Rust/hyperlane/README.md @@ -33,3 +33,7 @@ PostgreSQL. ### Test 6: Plaintext http://localhost:8080/plaintext + +### Test 7: Caching + + http://localhost:8080/cached-queries?c=20 diff --git a/frameworks/Rust/hyperlane/benchmark_config.json b/frameworks/Rust/hyperlane/benchmark_config.json index 760f997a538..7fed5aa3a64 100644 --- a/frameworks/Rust/hyperlane/benchmark_config.json +++ b/frameworks/Rust/hyperlane/benchmark_config.json @@ -10,6 +10,7 @@ "db_url": "/db", "query_url": "/queries?q=", "update_url": "/updates?q=", + "cached_url": "/cached-queries?c=", "port": 8080, "approach": "Realistic", "classification": "Micro", diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 74cd0fe74bd..4b068a3b2e1 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -76,6 +76,25 @@ pub async fn insert_records() { let _ = sqlx::query(&query).execute(&db_pool).await; } +#[inline] +pub async fn init_cache() { + let mut res: Vec = Vec::with_capacity(RANDOM_MAX as usize); + let db_pool: DbPoolConnection = get_db_connection().await; + let sql: String = format!( + "SELECT id, randomNumber FROM {} LIMIT {}", + TABLE_NAME_WORLD, RANDOM_MAX + ); + if let Ok(rows) = sqlx::query(&sql).fetch_all(&db_pool).await { + for row in rows { + let id: i32 = row.get(KEY_ID); + let random_number: i32 = row.get(KEY_RANDOM_NUMBER); + res.push(QueryRow::new(id, random_number)); + } + } + let mut cache: RwLockWriteGuard<'_, Vec> = CACHE.write().await; + *cache = res; +} + #[inline] pub async fn connection_db() -> DbPoolConnection { let db_url: &str = match option_env!("POSTGRES_URL") { @@ -135,6 +154,7 @@ pub async fn init_db() { create_table().await; insert_records().await; } + init_cache().await; } #[inline] diff --git a/frameworks/Rust/hyperlane/src/lazy.rs b/frameworks/Rust/hyperlane/src/lazy.rs index 5b701e371bd..6826b018008 100644 --- a/frameworks/Rust/hyperlane/src/lazy.rs +++ b/frameworks/Rust/hyperlane/src/lazy.rs @@ -2,3 +2,4 @@ use crate::*; pub static DB: Lazy>> = Lazy::new(|| Arc::new(RwLock::new(None))); +pub static CACHE: Lazy>> = Lazy::new(|| arc_rwlock(vec![])); diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 1e7f004970a..322a72cea76 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -87,3 +87,22 @@ pub async fn updates(controller_data: ControllerData) { .set_response_body(serde_json::to_string(&res).unwrap_or_default()) .await; } + +#[inline] +pub async fn cached_queries(controller_data: ControllerData) { + let count: Queries = controller_data + .get_request_query("c") + .await + .and_then(|queries| queries.parse::().ok()) + .unwrap_or_default() + .min(ROW_LIMIT as Queries) + .max(1); + let mut res: Vec = Vec::with_capacity(count as usize); + let cache: tokio::sync::RwLockReadGuard<'_, Vec> = CACHE.read().await; + for i in 0..count { + res.push(cache[i as usize].clone()); + } + let _ = controller_data + .set_response_body(serde_json::to_string(&res).unwrap_or_default()) + .await; +} diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index d6045794c64..09d0f809e62 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -14,6 +14,7 @@ pub async fn run_server() { server.route("/queries", queries).await; server.route("/fortunes", fortunes).await; server.route("/updates", updates).await; + server.route("/cached-queries",cached_queries).await; server.request_middleware(request).await; server.response_middleware(response).await; server.listen().await; From ce6b7ecde6c170c0fa6eafc7ed13fe17ae97fe65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 08:57:15 +0800 Subject: [PATCH 045/260] feat: cache --- frameworks/Rust/hyperlane/benchmark_config.json | 16 ++++++++-------- frameworks/Rust/hyperlane/src/server.rs | 14 +++++++------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/frameworks/Rust/hyperlane/benchmark_config.json b/frameworks/Rust/hyperlane/benchmark_config.json index 7fed5aa3a64..7f4d8cf1367 100644 --- a/frameworks/Rust/hyperlane/benchmark_config.json +++ b/frameworks/Rust/hyperlane/benchmark_config.json @@ -4,20 +4,20 @@ { "default": { "dockerfile": "hyperlane.dockerfile", - "json_url": "/json", - "plaintext_url": "/plaintext", - "fortune_url": "/fortunes", - "db_url": "/db", - "query_url": "/queries?q=", - "update_url": "/updates?q=", - "cached_url": "/cached-queries?c=", + "json_url": "/j", + "plaintext_url": "/p", + "fortune_url": "/f", + "db_url": "/d", + "query_url": "/q?q=", + "update_url": "/u?q=", + "cached_query_url": "/c?c=", "port": 8080, "approach": "Realistic", "classification": "Micro", "database": "Postgres", "framework": "hyperlane", "language": "Rust", - "orm": "raw", + "orm": "sqlx", "platform": "Rust", "webserver": "hyperlane", "os": "Linux", diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 09d0f809e62..283432453bd 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -8,13 +8,13 @@ pub async fn run_server() { server.log_dir("./logs").await; server.log_interval_millis(1_000_000_000).await; // server.disable_print().await; - server.route("/json", json).await; - server.route("/plaintext", plaintext).await; - server.route("/db", db).await; - server.route("/queries", queries).await; - server.route("/fortunes", fortunes).await; - server.route("/updates", updates).await; - server.route("/cached-queries",cached_queries).await; + server.route("/j", json).await; + server.route("/p", plaintext).await; + server.route("/d", db).await; + server.route("/q", queries).await; + server.route("/f", fortunes).await; + server.route("/u", updates).await; + server.route("/c", cached_queries).await; server.request_middleware(request).await; server.response_middleware(response).await; server.listen().await; From fbf14e2adf5e834df1604182e7b3ecc66fe9282b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 09:02:31 +0800 Subject: [PATCH 046/260] feat: config --- frameworks/Rust/hyperlane/benchmark_config.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/benchmark_config.json b/frameworks/Rust/hyperlane/benchmark_config.json index 7f4d8cf1367..3c4ba24a12c 100644 --- a/frameworks/Rust/hyperlane/benchmark_config.json +++ b/frameworks/Rust/hyperlane/benchmark_config.json @@ -13,11 +13,11 @@ "cached_query_url": "/c?c=", "port": 8080, "approach": "Realistic", - "classification": "Micro", + "classification": "Platform", "database": "Postgres", "framework": "hyperlane", "language": "Rust", - "orm": "sqlx", + "orm": "raw", "platform": "Rust", "webserver": "hyperlane", "os": "Linux", From f8fecf2f2670631d86282fd2702130d8686b0d0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 09:11:03 +0800 Subject: [PATCH 047/260] feat: config --- frameworks/Rust/hyperlane/benchmark_config.json | 14 +++++++------- frameworks/Rust/hyperlane/src/server.rs | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/frameworks/Rust/hyperlane/benchmark_config.json b/frameworks/Rust/hyperlane/benchmark_config.json index 3c4ba24a12c..4d8022c7a96 100644 --- a/frameworks/Rust/hyperlane/benchmark_config.json +++ b/frameworks/Rust/hyperlane/benchmark_config.json @@ -4,13 +4,13 @@ { "default": { "dockerfile": "hyperlane.dockerfile", - "json_url": "/j", - "plaintext_url": "/p", - "fortune_url": "/f", - "db_url": "/d", - "query_url": "/q?q=", - "update_url": "/u?q=", - "cached_query_url": "/c?c=", + "json_url": "/json", + "plaintext_url": "/plaintext", + "fortune_url": "/fortunes", + "db_url": "/db", + "query_url": "/quer?q=", + "update_url": "/upda?q=", + "cached_query_url": "/cached-quer?c=", "port": 8080, "approach": "Realistic", "classification": "Platform", diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 283432453bd..1cf22f4e9ee 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -8,13 +8,13 @@ pub async fn run_server() { server.log_dir("./logs").await; server.log_interval_millis(1_000_000_000).await; // server.disable_print().await; - server.route("/j", json).await; - server.route("/p", plaintext).await; - server.route("/d", db).await; - server.route("/q", queries).await; - server.route("/f", fortunes).await; - server.route("/u", updates).await; - server.route("/c", cached_queries).await; + server.route("/json", json).await; + server.route("/plaintext", plaintext).await; + server.route("/db", db).await; + server.route("/quer", queries).await; + server.route("/fortunes", fortunes).await; + server.route("/upda", updates).await; + server.route("/cached-quer", cached_queries).await; server.request_middleware(request).await; server.response_middleware(response).await; server.listen().await; From f10855783b7b4f549519037fb23b47ab3f7e696c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 09:16:14 +0800 Subject: [PATCH 048/260] feat: config --- frameworks/Rust/hyperlane/benchmark_config.json | 2 +- frameworks/Rust/hyperlane/src/server.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/benchmark_config.json b/frameworks/Rust/hyperlane/benchmark_config.json index 4d8022c7a96..1f810752e18 100644 --- a/frameworks/Rust/hyperlane/benchmark_config.json +++ b/frameworks/Rust/hyperlane/benchmark_config.json @@ -8,7 +8,7 @@ "plaintext_url": "/plaintext", "fortune_url": "/fortunes", "db_url": "/db", - "query_url": "/quer?q=", + "query_url": "/query?q=", "update_url": "/upda?q=", "cached_query_url": "/cached-quer?c=", "port": 8080, diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 1cf22f4e9ee..fb89ced4c7e 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -11,7 +11,7 @@ pub async fn run_server() { server.route("/json", json).await; server.route("/plaintext", plaintext).await; server.route("/db", db).await; - server.route("/quer", queries).await; + server.route("/query", queries).await; server.route("/fortunes", fortunes).await; server.route("/upda", updates).await; server.route("/cached-quer", cached_queries).await; From 9c2ef17a90fada466081cd6c28d7bee259584e0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 12:29:55 +0800 Subject: [PATCH 049/260] feat: v4.36.1 --- frameworks/Rust/hyperlane/Cargo.lock | 125 +++--------------- frameworks/Rust/hyperlane/Cargo.toml | 3 +- frameworks/Rust/hyperlane/src/main.rs | 3 +- .../Rust/hyperlane/src/request_middleware.rs | 2 +- frameworks/Rust/hyperlane/src/route.rs | 2 +- frameworks/Rust/hyperlane/src/server.rs | 3 +- frameworks/Rust/hyperlane/src/utils.rs | 8 -- 7 files changed, 21 insertions(+), 125 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 97881041abd..a678ccd5b07 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -50,21 +50,6 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - [[package]] name = "async-func" version = "0.1.8" @@ -173,35 +158,12 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" -[[package]] -name = "cc" -version = "1.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" -dependencies = [ - "shlex", -] - [[package]] name = "cfg-if" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "chrono" -version = "0.4.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "js-sys", - "num-traits", - "wasm-bindgen", - "windows-link", -] - [[package]] name = "clonelicious" version = "1.0.5" @@ -210,9 +172,9 @@ checksum = "2c61986b9f0347d401ef41468e7aadba2ab6dfc2547df1862f2563250fbfa8d3" [[package]] name = "color-output" -version = "6.4.3" +version = "6.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc537d9d2e7e15fa40da2a6a451afedea17808a63f8339863e3a6b5ae93db596" +checksum = "6c85488dab2761e7883ac16c88819eefb468973b57591ef3c2baa743c35004ff" dependencies = [ "hyperlane-time", ] @@ -232,12 +194,6 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - [[package]] name = "cpufeatures" version = "0.2.17" @@ -665,9 +621,9 @@ dependencies = [ [[package]] name = "http-compress" -version = "2.3.5" +version = "2.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf5394c60478257d0d294dd21362169af6823c85bc98ab73ce073193ebe0e178" +checksum = "98b1cde57d40ec354eb0d1f7fea31e5d621e2bfbc9ec087f6d06944b5ac1ca3a" dependencies = [ "brotli", "flate2", @@ -676,15 +632,15 @@ dependencies = [ [[package]] name = "http-constant" -version = "1.34.0" +version = "1.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c47702947ab1af7d39cca41b42beef6598b8bc26be50d22029b3547dbca1ff09" +checksum = "82b282f8cb8ff76d9ad521f4e159143bfe2639a03e7d91871f740b716f28c608" [[package]] name = "http-type" -version = "3.25.0" +version = "3.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9950165f6661115413e9f836e9cb2e6174fbf6b9fff7cad88a1d4bdfdb454d81" +checksum = "1ac0f534e18616d3a80a032fed278879bfd663d071282377ce66c55ebd7eef09" dependencies = [ "hex", "http-compress", @@ -700,9 +656,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.33.0" +version = "4.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e5db0096d50b03bea038232871b8b81d8356f02549a1f9f60389a7e20b32d9" +checksum = "678154dd86505451acd8d9a3faea8edbc20e61f1e2024d8b26d40d8b59b886eb" dependencies = [ "async-func", "clonelicious", @@ -712,6 +668,7 @@ dependencies = [ "http-compress", "http-type", "hyperlane-log", + "hyperlane-time", "lombok-macros", "once_cell", "recoverable-spawn", @@ -726,9 +683,9 @@ dependencies = [ [[package]] name = "hyperlane-log" -version = "1.2.3" +version = "1.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acf652414e2c385beb37c36341ae91f6eb686062f3cfff6c0cff8526deafbb65" +checksum = "1e4ac75392e2efe8ca225dd9dbb3a027b861ea20c483a7763ee736edabe10cca" dependencies = [ "file-operation", "hyperlane-time", @@ -739,44 +696,20 @@ dependencies = [ [[package]] name = "hyperlane-time" -version = "0.0.9" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11dcc4ca08d1ebfc1f70e7a40033483219f77909a7ef6c4af302a14aa97da3d2" +checksum = "a65d56c50277b8523f6a77f5643a2cc17d58565a411fa1893b761ebaef785f4e" [[package]] name = "hyperlane_techempower" version = "0.0.1" dependencies = [ - "chrono", "hyperlane", "rand 0.9.0", "serde", "sqlx", ] -[[package]] -name = "iana-time-zone" -version = "0.1.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "windows-core", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - [[package]] name = "icu_collections" version = "1.5.0" @@ -1368,12 +1301,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "rustversion" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" - [[package]] name = "ryu" version = "1.0.20" @@ -1473,12 +1400,6 @@ dependencies = [ "digest", ] -[[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - [[package]] name = "signal-hook-registry" version = "1.4.2" @@ -2063,7 +1984,6 @@ checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", - "rustversion", "wasm-bindgen-macro", ] @@ -2123,21 +2043,6 @@ dependencies = [ "wasite", ] -[[package]] -name = "windows-core" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-link" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3" - [[package]] name = "windows-sys" version = "0.48.0" diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 6c418dbfe6d..8b909a01df4 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,9 +18,8 @@ exclude = [ ] [dependencies] -hyperlane = "4.33.0" +hyperlane = "4.36.1" rand = "0.9.0" -chrono = "0.4.40" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 3d5370476d0..1a3f1ab7b0c 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -8,7 +8,6 @@ pub(crate) mod server; pub(crate) mod r#type; pub(crate) mod utils; -pub(crate) use chrono::{DateTime, Utc}; pub(crate) use constant::*; pub(crate) use db::*; pub(crate) use hyperlane::{ @@ -32,7 +31,7 @@ pub(crate) use sqlx::{ postgres::{PgPoolOptions, PgRow}, Pool, Postgres, Row, }; -pub(crate) use std::{error::Error, fmt, sync::Arc, time::SystemTime}; +pub(crate) use std::{error::Error, fmt, sync::Arc}; pub(crate) use utils::*; #[tokio::main] diff --git a/frameworks/Rust/hyperlane/src/request_middleware.rs b/frameworks/Rust/hyperlane/src/request_middleware.rs index e609a8f3821..fe810b0a1d5 100644 --- a/frameworks/Rust/hyperlane/src/request_middleware.rs +++ b/frameworks/Rust/hyperlane/src/request_middleware.rs @@ -9,7 +9,7 @@ pub async fn request(controller_data: ControllerData) { .await .set_response_header(SERVER, HYPERLANE) .await - .set_response_header(DATE, generate_rfc1123_timestamp()) + .set_response_header(DATE, current_date_gmt()) .await .set_response_status_code(200) .await; diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 322a72cea76..657a240e763 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -67,7 +67,7 @@ pub async fn fortunes(controller_data: ControllerData) { fortunes_list.sort_by(|it, next| it.message.cmp(&next.message)); let res: String = FortunesTemplate::new(fortunes_list).to_string(); controller_data - .set_response_header(CONTENT_TYPE, format!("{}; {}", TEXT_HTML, CHARSET_UTF_8)) + .set_response_header(CONTENT_TYPE, content_type_charset(TEXT_HTML, UTF8)) .await .set_response_body(res) .await; diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index fb89ced4c7e..91dc1aeea08 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -7,7 +7,8 @@ pub async fn run_server() { server.port(8080).await; server.log_dir("./logs").await; server.log_interval_millis(1_000_000_000).await; - // server.disable_print().await; + server.disable_inner_log().await; + server.disable_inner_print().await; server.route("/json", json).await; server.route("/plaintext", plaintext).await; server.route("/db", db).await; diff --git a/frameworks/Rust/hyperlane/src/utils.rs b/frameworks/Rust/hyperlane/src/utils.rs index c63e0ddb3c6..8c9c080f9f2 100644 --- a/frameworks/Rust/hyperlane/src/utils.rs +++ b/frameworks/Rust/hyperlane/src/utils.rs @@ -1,11 +1,3 @@ -use crate::*; - -#[inline] -pub fn generate_rfc1123_timestamp() -> String { - let now: DateTime = SystemTime::now().into(); - now.format("%a, %d %b %Y %H:%M:%S GMT").to_string() -} - #[inline] pub fn escape_html(input: &str) -> String { let mut result: String = String::new(); From 8bf1c060a1e11ead8e884ddc728b3bded2b8feb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 12:43:07 +0800 Subject: [PATCH 050/260] docs: readme --- frameworks/Rust/hyperlane/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frameworks/Rust/hyperlane/README.md b/frameworks/Rust/hyperlane/README.md index 362846e9137..20ab5eec3c4 100644 --- a/frameworks/Rust/hyperlane/README.md +++ b/frameworks/Rust/hyperlane/README.md @@ -20,15 +20,15 @@ PostgreSQL. ### Test 3: Multi Row Query - http://localhost:8080/queries?q=20 + http://localhost:8080/query?q=20 ### Test 4: Fortunes (Template rendering) - http://localhost:8080/fortune + http://localhost:8080/fortunes ### Test 5: Update Query - http://localhost:8080/updates?q=20 + http://localhost:8080/upda?q=20 ### Test 6: Plaintext @@ -36,4 +36,4 @@ PostgreSQL. ### Test 7: Caching - http://localhost:8080/cached-queries?c=20 + http://localhost:8080/cached-quer?c=20 From c347a8c22d64f8f33c667ba858831bcba559e0be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 12:47:56 +0800 Subject: [PATCH 051/260] feat: remove dyn --- frameworks/Rust/hyperlane/src/db.rs | 12 ++++++------ frameworks/Rust/hyperlane/src/main.rs | 2 +- frameworks/Rust/hyperlane/src/route.rs | 9 ++++----- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 4b068a3b2e1..137fc5ea695 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -158,7 +158,7 @@ pub async fn init_db() { } #[inline] -pub async fn random_world_row(db_pool: &DbPoolConnection) -> Result> { +pub async fn random_world_row(db_pool: &DbPoolConnection) -> QueryRow { let random_id: i32 = rand::rng().random_range(1..=RANDOM_MAX); let sql: String = format!( "SELECT id, randomNumber FROM {} WHERE id = {}", @@ -167,19 +167,19 @@ pub async fn random_world_row(db_pool: &DbPoolConnection) -> Result Result, Box> { +pub async fn update_world_rows(limit: Queries) -> Vec { let db_pool: DbPoolConnection = get_db_connection().await; let (sql, data) = get_update_data(limit).await; spawn(async move { let _ = sqlx::query(&sql).execute(&db_pool).await; }); - Ok(data) + data } #[inline] @@ -197,7 +197,7 @@ pub async fn all_world_row() -> Vec { pub async fn get_some_row_id(limit: Queries, db_pool: &DbPoolConnection) -> Vec { let mut res: Vec = Vec::with_capacity(limit as usize); for _ in 0..limit { - let tem: QueryRow = random_world_row(db_pool).await.unwrap_or_default(); + let tem: QueryRow = random_world_row(db_pool).await; res.push(tem); } res diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 1a3f1ab7b0c..5e5c0d19660 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -31,7 +31,7 @@ pub(crate) use sqlx::{ postgres::{PgPoolOptions, PgRow}, Pool, Postgres, Row, }; -pub(crate) use std::{error::Error, fmt, sync::Arc}; +pub(crate) use std::{fmt, sync::Arc}; pub(crate) use utils::*; #[tokio::main] diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 657a240e763..c34ea5420a4 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -22,7 +22,7 @@ pub async fn plaintext(controller_data: ControllerData) { #[inline] pub async fn db(controller_data: ControllerData) { let db_connection: DbPoolConnection = get_db_connection().await; - let query_row: QueryRow = random_world_row(&db_connection).await.unwrap(); + let query_row: QueryRow = random_world_row(&db_connection).await; let _ = controller_data .set_response_body(serde_json::to_string(&query_row).unwrap_or_default()) .await; @@ -40,9 +40,8 @@ pub async fn queries(controller_data: ControllerData) { let mut data: Vec = Vec::with_capacity(queries as usize); let db_pool: DbPoolConnection = get_db_connection().await; for _ in 0..queries { - let _ = random_world_row(&db_pool).await.map(|row| { - data.push(row); - }); + let row: QueryRow = random_world_row(&db_pool).await; + data.push(row); } let _ = controller_data .set_response_body(serde_json::to_string(&data).unwrap_or_default()) @@ -82,7 +81,7 @@ pub async fn updates(controller_data: ControllerData) { .unwrap_or_default() .min(ROW_LIMIT as Queries) .max(1); - let res: Vec = update_world_rows(queries).await.unwrap(); + let res: Vec = update_world_rows(queries).await; let _ = controller_data .set_response_body(serde_json::to_string(&res).unwrap_or_default()) .await; From be44a7f597c0b6f58bcf803b83077d0b78a46075 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 13:23:06 +0800 Subject: [PATCH 052/260] docs: readme --- frameworks/Rust/may-minihttp/Cargo.lock | 1381 ----------------------- frameworks/Rust/may-minihttp/README.md | 2 +- 2 files changed, 1 insertion(+), 1382 deletions(-) delete mode 100644 frameworks/Rust/may-minihttp/Cargo.lock diff --git a/frameworks/Rust/may-minihttp/Cargo.lock b/frameworks/Rust/may-minihttp/Cargo.lock deleted file mode 100644 index bf333f4ab37..00000000000 --- a/frameworks/Rust/may-minihttp/Cargo.lock +++ /dev/null @@ -1,1381 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "annotate-snippets" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccaf7e9dfbb6ab22c82e473cd1a8a7bd313c19a5b7e40970f3d89ef5a5c9e81e" -dependencies = [ - "unicode-width", - "yansi-term", -] - -[[package]] -name = "atoi" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" -dependencies = [ - "num-traits", -] - -[[package]] -name = "autocfg" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - -[[package]] -name = "bitflags" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "buf-min" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22d5698cf6842742ed64805705798f8b351fff53fa546fd45c52184bee58dc90" -dependencies = [ - "bytes", -] - -[[package]] -name = "bumpalo" -version = "3.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" - -[[package]] -name = "cc" -version = "1.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" -dependencies = [ - "shlex", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "cfg_aliases" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" - -[[package]] -name = "chrono" -version = "0.4.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "js-sys", - "num-traits", - "wasm-bindgen", - "windows-link", -] - -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - -[[package]] -name = "core_affinity" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a034b3a7b624016c6e13f5df875747cc25f884156aad2abd12b6c46797971342" -dependencies = [ - "libc", - "num_cpus", - "winapi", -] - -[[package]] -name = "cpufeatures" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" -dependencies = [ - "libc", -] - -[[package]] -name = "crossbeam" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" -dependencies = [ - "crossbeam-channel", - "crossbeam-deque", - "crossbeam-epoch", - "crossbeam-queue", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-queue" -version = "0.3.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "derive_more" -version = "0.99.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3da29a38df43d6f156149c9b43ded5e018ddff2a855cf2cfd62e8cd7d079c69f" -dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "rustc_version", - "syn 2.0.100", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "crypto-common", - "subtle", -] - -[[package]] -name = "dtoa" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6add3b8cff394282be81f3fc1a0605db594ed69890078ca6e2cab1c408bcf04" - -[[package]] -name = "fallible-iterator" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" - -[[package]] -name = "generator" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc6bd114ceda131d3b1d665eba35788690ad37f5916457286b32ab6fd3c438dd" -dependencies = [ - "cfg-if", - "libc", - "log", - "rustversion", - "windows", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" -dependencies = [ - "cfg-if", - "libc", - "wasi", - "windows-targets", -] - -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest", -] - -[[package]] -name = "httparse" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" - -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - -[[package]] -name = "iana-time-zone" -version = "0.1.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "windows-core 0.52.0", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "itoa" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" - -[[package]] -name = "js-sys" -version = "0.3.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" -dependencies = [ - "once_cell", - "wasm-bindgen", -] - -[[package]] -name = "libc" -version = "0.2.171" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" - -[[package]] -name = "libmimalloc-sys" -version = "0.1.39" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23aa6811d3bd4deb8a84dde645f943476d13b248d818edcf8ce0b2f37f036b44" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "lock_api" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" - -[[package]] -name = "may" -version = "0.3.49" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a809e2d6bacd818a8d78b2d43e512a29029d875338a820df5e4311daf824078b" -dependencies = [ - "cfg-if", - "core_affinity", - "crossbeam", - "generator", - "libc", - "log", - "may_queue", - "nix", - "num_cpus", - "parking_lot", - "rustversion", - "smallvec", - "socket2", - "windows-sys 0.59.0", -] - -[[package]] -name = "may-minihttp" -version = "0.1.0" -dependencies = [ - "atoi", - "buf-min", - "bytes", - "log", - "may", - "may_minihttp", - "may_postgres", - "mimalloc", - "nanorand", - "num_cpus", - "smallvec", - "yarte", -] - -[[package]] -name = "may_minihttp" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "710fda59b93aa204a26bfc7ba9c349d90035bd1b30df10df46d7c552d107291e" -dependencies = [ - "bytes", - "httparse", - "httpdate", - "itoa", - "log", - "may", - "once_cell", -] - -[[package]] -name = "may_postgres" -version = "0.1.0" -source = "git+https://github.com/Xudong-Huang/may_postgres.git?rev=917ed78#917ed788c31825b79d38e15ad8742369bec89761" -dependencies = [ - "byteorder", - "bytes", - "crossbeam", - "fallible-iterator", - "log", - "may", - "percent-encoding", - "phf", - "postgres-protocol", - "postgres-types", - "smallvec", - "spin", -] - -[[package]] -name = "may_queue" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7026ba39000f40c16ba8ea206967380471726dd26fc34f51491b47fba9d84a94" -dependencies = [ - "crossbeam-utils", - "rustversion", - "smallvec", -] - -[[package]] -name = "md-5" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" -dependencies = [ - "cfg-if", - "digest", -] - -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "memoffset" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" -dependencies = [ - "autocfg", -] - -[[package]] -name = "mimalloc" -version = "0.1.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68914350ae34959d83f732418d51e2427a794055d0b9529f48259ac07af65633" -dependencies = [ - "libmimalloc-sys", -] - -[[package]] -name = "nanorand" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" - -[[package]] -name = "nix" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" -dependencies = [ - "bitflags", - "cfg-if", - "cfg_aliases", - "libc", - "memoffset", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "once_cell" -version = "1.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" - -[[package]] -name = "parking_lot" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets", -] - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "phf" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" -dependencies = [ - "phf_shared", -] - -[[package]] -name = "phf_shared" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" -dependencies = [ - "siphasher", -] - -[[package]] -name = "postgres-protocol" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76ff0abab4a9b844b93ef7b81f1efc0a366062aaef2cd702c76256b5dc075c54" -dependencies = [ - "base64", - "byteorder", - "bytes", - "fallible-iterator", - "hmac", - "md-5", - "memchr", - "rand", - "sha2", - "stringprep", -] - -[[package]] -name = "postgres-types" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613283563cd90e1dfc3518d548caee47e0e725455ed619881f5cf21f36de4b48" -dependencies = [ - "bytes", - "fallible-iterator", - "postgres-protocol", -] - -[[package]] -name = "ppv-lite86" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" -dependencies = [ - "zerocopy", -] - -[[package]] -name = "prettyplease" -version = "0.1.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" -dependencies = [ - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "proc-macro2" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rand" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" -dependencies = [ - "rand_chacha", - "rand_core", - "zerocopy", -] - -[[package]] -name = "rand_chacha" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" -dependencies = [ - "getrandom", -] - -[[package]] -name = "redox_syscall" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" -dependencies = [ - "bitflags", -] - -[[package]] -name = "regex" -version = "1.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" - -[[package]] -name = "rustc_version" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" -dependencies = [ - "semver", -] - -[[package]] -name = "rustversion" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" - -[[package]] -name = "ryu" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "semver" -version = "1.0.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" - -[[package]] -name = "serde" -version = "1.0.219" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.219" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.100", -] - -[[package]] -name = "serde_json" -version = "1.0.140" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" -dependencies = [ - "itoa", - "memchr", - "ryu", - "serde", -] - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[package]] -name = "siphasher" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" - -[[package]] -name = "smallvec" -version = "1.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" - -[[package]] -name = "socket2" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -dependencies = [ - "lock_api", -] - -[[package]] -name = "stringprep" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" -dependencies = [ - "unicode-bidi", - "unicode-normalization", - "unicode-properties", -] - -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "tinyvec" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", -] - -[[package]] -name = "typenum" -version = "1.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" - -[[package]] -name = "unicode-bidi" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" - -[[package]] -name = "unicode-ident" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" - -[[package]] -name = "unicode-normalization" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-properties" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" - -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - -[[package]] -name = "unicode-xid" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" - -[[package]] -name = "v_eval" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd8b599d797eb038d0dde9a3860aacb6bbba3bffa4ac64f807c8673820cc9d9" -dependencies = [ - "regex", - "syn 1.0.109", -] - -[[package]] -name = "v_htmlescape" -version = "0.15.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e8257fbc510f0a46eb602c10215901938b5c2a7d5e70fc11483b1d3c9b5b18c" -dependencies = [ - "buf-min", -] - -[[package]] -name = "v_jsonescape" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be8219cc464ba10c48c3231a6871f11d26d831c5c45a47467eea387ea7bb10e8" -dependencies = [ - "buf-min", -] - -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - -[[package]] -name = "wasi" -version = "0.13.3+wasi-0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" -dependencies = [ - "wit-bindgen-rt", -] - -[[package]] -name = "wasm-bindgen" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" -dependencies = [ - "cfg-if", - "once_cell", - "rustversion", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn 2.0.100", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.100", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" -dependencies = [ - "windows-core 0.58.0", - "windows-targets", -] - -[[package]] -name = "windows-core" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ - "windows-targets", -] - -[[package]] -name = "windows-core" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-result", - "windows-strings", - "windows-targets", -] - -[[package]] -name = "windows-implement" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.100", -] - -[[package]] -name = "windows-interface" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.100", -] - -[[package]] -name = "windows-link" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3" - -[[package]] -name = "windows-result" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" -dependencies = [ - "windows-targets", -] - -[[package]] -name = "windows-strings" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" -dependencies = [ - "windows-result", - "windows-targets", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets", -] - -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets", -] - -[[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "wit-bindgen-rt" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" -dependencies = [ - "bitflags", -] - -[[package]] -name = "yansi-term" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe5c30ade05e61656247b2e334a031dfd0cc466fadef865bdcdea8d537951bf1" -dependencies = [ - "winapi", -] - -[[package]] -name = "yarte" -version = "0.15.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfce1df93f3b16e5272221a559e60bbbaaa71dbc042a43996d223e51a690aab2" -dependencies = [ - "buf-min", - "yarte_derive", - "yarte_helpers", -] - -[[package]] -name = "yarte_codegen" -version = "0.15.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a79312078b97a195de91a8c1457c2e0d7abd97e6e605f3cdeb01b3c105d2cff" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "yarte_helpers", - "yarte_hir", -] - -[[package]] -name = "yarte_derive" -version = "0.15.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b296edd7e1a81717b6f794baa2de8dfe89646050847161550b2d963b3ca6fe80" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "v_jsonescape", - "yarte_codegen", - "yarte_helpers", - "yarte_hir", - "yarte_parser", -] - -[[package]] -name = "yarte_helpers" -version = "0.15.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0d1076f8cee9541ea5ffbecd9102f751252c91f085e7d30a18a3ce805ebd3ee" -dependencies = [ - "buf-min", - "chrono", - "dtoa", - "itoa", - "prettyplease", - "ryu", - "serde", - "serde_json", - "syn 1.0.109", - "toml", - "v_htmlescape", - "v_jsonescape", -] - -[[package]] -name = "yarte_hir" -version = "0.15.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee42d2f704a3b1d8bc111d47a705d1302a0943d85e4c230f4e8300ee0dde4a6" -dependencies = [ - "derive_more", - "proc-macro2", - "quote", - "syn 1.0.109", - "v_eval", - "v_htmlescape", - "yarte_helpers", - "yarte_parser", -] - -[[package]] -name = "yarte_parser" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "538f72049cf7104e12d5c444048d112cb8fc788a31308afd912442a381ba860c" -dependencies = [ - "annotate-snippets", - "derive_more", - "proc-macro2", - "quote", - "serde", - "syn 1.0.109", - "unicode-xid", - "yarte_helpers", -] - -[[package]] -name = "zerocopy" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.100", -] diff --git a/frameworks/Rust/may-minihttp/README.md b/frameworks/Rust/may-minihttp/README.md index a138a267303..e202bf0538e 100644 --- a/frameworks/Rust/may-minihttp/README.md +++ b/frameworks/Rust/may-minihttp/README.md @@ -10,7 +10,7 @@ PostgreSQL. ## Test URLs -### Test 1: JSON Encoding +### Test 1: JSON Encoding http://localhost:8080/json From b6ef7b34b8d9220167efad3a843f9868090f152e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 13:24:30 +0800 Subject: [PATCH 053/260] feat: lock --- frameworks/Rust/hyperlane/Cargo.lock | 2332 -------------------------- 1 file changed, 2332 deletions(-) delete mode 100644 frameworks/Rust/hyperlane/Cargo.lock diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock deleted file mode 100644 index a678ccd5b07..00000000000 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ /dev/null @@ -1,2332 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "addr2line" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" - -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy 0.7.35", -] - -[[package]] -name = "alloc-no-stdlib" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" - -[[package]] -name = "alloc-stdlib" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" -dependencies = [ - "alloc-no-stdlib", -] - -[[package]] -name = "allocator-api2" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" - -[[package]] -name = "async-func" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8882ceb09bc57f9b7a52d48cffab866310aeeb6a5aa1c9420640e7689660c9ee" -dependencies = [ - "tokio", -] - -[[package]] -name = "atoi" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" -dependencies = [ - "num-traits", -] - -[[package]] -name = "autocfg" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" - -[[package]] -name = "backtrace" -version = "0.3.74" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" -dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", - "windows-targets 0.52.6", -] - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - -[[package]] -name = "base64ct" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" - -[[package]] -name = "bitflags" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" -dependencies = [ - "serde", -] - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "brotli" -version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", -] - -[[package]] -name = "brotli-decompressor" -version = "4.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", -] - -[[package]] -name = "bumpalo" -version = "3.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "clonelicious" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c61986b9f0347d401ef41468e7aadba2ab6dfc2547df1862f2563250fbfa8d3" - -[[package]] -name = "color-output" -version = "6.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c85488dab2761e7883ac16c88819eefb468973b57591ef3c2baa743c35004ff" -dependencies = [ - "hyperlane-time", -] - -[[package]] -name = "concurrent-queue" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - -[[package]] -name = "cpufeatures" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" -dependencies = [ - "libc", -] - -[[package]] -name = "crc" -version = "3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" -dependencies = [ - "crc-catalog", -] - -[[package]] -name = "crc-catalog" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" - -[[package]] -name = "crc32fast" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-queue" -version = "0.3.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "der" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" -dependencies = [ - "const-oid", - "pem-rfc7468", - "zeroize", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "const-oid", - "crypto-common", - "subtle", -] - -[[package]] -name = "displaydoc" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "dotenvy" -version = "0.15.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" - -[[package]] -name = "either" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" -dependencies = [ - "serde", -] - -[[package]] -name = "equivalent" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" - -[[package]] -name = "errno" -version = "0.3.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - -[[package]] -name = "etcetera" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" -dependencies = [ - "cfg-if", - "home", - "windows-sys 0.48.0", -] - -[[package]] -name = "event-listener" -version = "5.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "fastrand" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" - -[[package]] -name = "file-operation" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaba2fa080e689c4ec9a0666c5b7eb074182fdba13a34e97b19b56ac2a855556" -dependencies = [ - "tokio", -] - -[[package]] -name = "flate2" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11faaf5a5236997af9848be0bef4db95824b1d534ebc64d0f0c6cf3e67bd38dc" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - -[[package]] -name = "float-cmp" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8" -dependencies = [ - "num-traits", -] - -[[package]] -name = "flume" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" -dependencies = [ - "futures-core", - "futures-sink", - "spin", -] - -[[package]] -name = "foldhash" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "futures" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" - -[[package]] -name = "futures-executor" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-intrusive" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" -dependencies = [ - "futures-core", - "lock_api", - "parking_lot", -] - -[[package]] -name = "futures-io" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" - -[[package]] -name = "futures-macro" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "futures-sink" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" - -[[package]] -name = "futures-task" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" - -[[package]] -name = "futures-util" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "wasm-bindgen", -] - -[[package]] -name = "getrandom" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" -dependencies = [ - "cfg-if", - "libc", - "wasi 0.13.3+wasi-0.2.2", - "windows-targets 0.52.6", -] - -[[package]] -name = "gimli" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" - -[[package]] -name = "halfbrown" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8588661a8607108a5ca69cab034063441a0413a0b041c13618a7dd348021ef6f" -dependencies = [ - "hashbrown 0.14.5", - "serde", -] - -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", - "allocator-api2", -] - -[[package]] -name = "hashbrown" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" -dependencies = [ - "allocator-api2", - "equivalent", - "foldhash", -] - -[[package]] -name = "hashlink" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" -dependencies = [ - "hashbrown 0.15.2", -] - -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hkdf" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" -dependencies = [ - "hmac", -] - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest", -] - -[[package]] -name = "home" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "http-compress" -version = "2.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98b1cde57d40ec354eb0d1f7fea31e5d621e2bfbc9ec087f6d06944b5ac1ca3a" -dependencies = [ - "brotli", - "flate2", - "http-constant", -] - -[[package]] -name = "http-constant" -version = "1.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82b282f8cb8ff76d9ad521f4e159143bfe2639a03e7d91871f740b716f28c608" - -[[package]] -name = "http-type" -version = "3.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ac0f534e18616d3a80a032fed278879bfd663d071282377ce66c55ebd7eef09" -dependencies = [ - "hex", - "http-compress", - "http-constant", - "lombok-macros", - "serde", - "serde-xml-rs", - "serde_json", - "serde_urlencoded", - "tokio", - "url", -] - -[[package]] -name = "hyperlane" -version = "4.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678154dd86505451acd8d9a3faea8edbc20e61f1e2024d8b26d40d8b59b886eb" -dependencies = [ - "async-func", - "clonelicious", - "color-output", - "file-operation", - "futures", - "http-compress", - "http-type", - "hyperlane-log", - "hyperlane-time", - "lombok-macros", - "once_cell", - "recoverable-spawn", - "recoverable-thread-pool", - "serde", - "serde_json", - "server-manager", - "simd-json", - "std-macro-extensions", - "tokio", -] - -[[package]] -name = "hyperlane-log" -version = "1.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e4ac75392e2efe8ca225dd9dbb3a027b861ea20c483a7763ee736edabe10cca" -dependencies = [ - "file-operation", - "hyperlane-time", - "lombok-macros", - "once_cell", - "recoverable-spawn", -] - -[[package]] -name = "hyperlane-time" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a65d56c50277b8523f6a77f5643a2cc17d58565a411fa1893b761ebaef785f4e" - -[[package]] -name = "hyperlane_techempower" -version = "0.0.1" -dependencies = [ - "hyperlane", - "rand 0.9.0", - "serde", - "sqlx", -] - -[[package]] -name = "icu_collections" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" -dependencies = [ - "displaydoc", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_locid" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" -dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", -] - -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" - -[[package]] -name = "icu_normalizer" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "utf16_iter", - "utf8_iter", - "write16", - "zerovec", -] - -[[package]] -name = "icu_normalizer_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" - -[[package]] -name = "icu_properties" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_locid_transform", - "icu_properties_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_properties_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" - -[[package]] -name = "icu_provider" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_provider_macros", - "stable_deref_trait", - "tinystr", - "writeable", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "idna" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" -dependencies = [ - "idna_adapter", - "smallvec", - "utf8_iter", -] - -[[package]] -name = "idna_adapter" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" -dependencies = [ - "icu_normalizer", - "icu_properties", -] - -[[package]] -name = "indexmap" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" -dependencies = [ - "equivalent", - "hashbrown 0.15.2", -] - -[[package]] -name = "itoa" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" - -[[package]] -name = "js-sys" -version = "0.3.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" -dependencies = [ - "once_cell", - "wasm-bindgen", -] - -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -dependencies = [ - "spin", -] - -[[package]] -name = "libc" -version = "0.2.171" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" - -[[package]] -name = "libm" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" - -[[package]] -name = "libsqlite3-sys" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" -dependencies = [ - "pkg-config", - "vcpkg", -] - -[[package]] -name = "linux-raw-sys" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" - -[[package]] -name = "litemap" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" - -[[package]] -name = "lock_api" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" - -[[package]] -name = "lombok-macros" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebe4fc0110b8bdb29b2423a2be59fa7b9b3e0e1b225553514895564420887bc5" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "md-5" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" -dependencies = [ - "cfg-if", - "digest", -] - -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "miniz_oxide" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" -dependencies = [ - "adler2", -] - -[[package]] -name = "mio" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" -dependencies = [ - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", -] - -[[package]] -name = "num-bigint-dig" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" -dependencies = [ - "byteorder", - "lazy_static", - "libm", - "num-integer", - "num-iter", - "num-traits", - "rand 0.8.5", - "smallvec", - "zeroize", -] - -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", - "libm", -] - -[[package]] -name = "object" -version = "0.36.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" - -[[package]] -name = "parking" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" - -[[package]] -name = "parking_lot" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.52.6", -] - -[[package]] -name = "pem-rfc7468" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" -dependencies = [ - "base64ct", -] - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "pin-project-lite" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkcs1" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" -dependencies = [ - "der", - "pkcs8", - "spki", -] - -[[package]] -name = "pkcs8" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" -dependencies = [ - "der", - "spki", -] - -[[package]] -name = "pkg-config" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" - -[[package]] -name = "ppv-lite86" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" -dependencies = [ - "zerocopy 0.8.23", -] - -[[package]] -name = "proc-macro2" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - -[[package]] -name = "rand" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" -dependencies = [ - "rand_chacha 0.9.0", - "rand_core 0.9.3", - "zerocopy 0.8.23", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_chacha" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" -dependencies = [ - "ppv-lite86", - "rand_core 0.9.3", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.15", -] - -[[package]] -name = "rand_core" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" -dependencies = [ - "getrandom 0.3.1", -] - -[[package]] -name = "recoverable-spawn" -version = "3.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5081593fb6a36af3e9ca8c4f23735f9d454a252cba0629509baa3947983846d" -dependencies = [ - "once_cell", - "tokio", -] - -[[package]] -name = "recoverable-thread-pool" -version = "2.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4190261c8a4823ceaf4b9cd68bf28deca98aa5697d2e1ec66e8053dac2a817fa" -dependencies = [ - "lombok-macros", - "recoverable-spawn", -] - -[[package]] -name = "redox_syscall" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" -dependencies = [ - "bitflags", -] - -[[package]] -name = "ref-cast" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "rsa" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" -dependencies = [ - "const-oid", - "digest", - "num-bigint-dig", - "num-integer", - "num-traits", - "pkcs1", - "pkcs8", - "rand_core 0.6.4", - "signature", - "spki", - "subtle", - "zeroize", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - -[[package]] -name = "rustix" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7178faa4b75a30e269c71e61c353ce2748cf3d76f0c44c393f4e60abf49b825" -dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.59.0", -] - -[[package]] -name = "ryu" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "serde" -version = "1.0.219" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde-xml-rs" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb3aa78ecda1ebc9ec9847d5d3aba7d618823446a049ba2491940506da6e2782" -dependencies = [ - "log", - "serde", - "thiserror 1.0.69", - "xml-rs", -] - -[[package]] -name = "serde_derive" -version = "1.0.219" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.140" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" -dependencies = [ - "itoa", - "memchr", - "ryu", - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "server-manager" -version = "3.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5144bc130554928fb304af2e7590742db173a40f82672613dc293f7567e8730e" -dependencies = [ - "tokio", -] - -[[package]] -name = "sha1" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" -dependencies = [ - "libc", -] - -[[package]] -name = "signature" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "digest", - "rand_core 0.6.4", -] - -[[package]] -name = "simd-json" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2bcf6c6e164e81bc7a5d49fc6988b3d515d9e8c07457d7b74ffb9324b9cd40" -dependencies = [ - "getrandom 0.2.15", - "halfbrown", - "ref-cast", - "serde", - "serde_json", - "simdutf8", - "value-trait", -] - -[[package]] -name = "simdutf8" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "smallvec" -version = "1.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" -dependencies = [ - "serde", -] - -[[package]] -name = "socket2" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -dependencies = [ - "lock_api", -] - -[[package]] -name = "spki" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" -dependencies = [ - "base64ct", - "der", -] - -[[package]] -name = "sqlx" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4410e73b3c0d8442c5f99b425d7a435b5ee0ae4167b3196771dd3f7a01be745f" -dependencies = [ - "sqlx-core", - "sqlx-macros", - "sqlx-mysql", - "sqlx-postgres", - "sqlx-sqlite", -] - -[[package]] -name = "sqlx-core" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a007b6936676aa9ab40207cde35daab0a04b823be8ae004368c0793b96a61e0" -dependencies = [ - "bytes", - "crc", - "crossbeam-queue", - "either", - "event-listener", - "futures-core", - "futures-intrusive", - "futures-io", - "futures-util", - "hashbrown 0.15.2", - "hashlink", - "indexmap", - "log", - "memchr", - "once_cell", - "percent-encoding", - "serde", - "serde_json", - "sha2", - "smallvec", - "thiserror 2.0.12", - "tokio", - "tokio-stream", - "tracing", - "url", -] - -[[package]] -name = "sqlx-macros" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3112e2ad78643fef903618d78cf0aec1cb3134b019730edb039b69eaf531f310" -dependencies = [ - "proc-macro2", - "quote", - "sqlx-core", - "sqlx-macros-core", - "syn", -] - -[[package]] -name = "sqlx-macros-core" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e9f90acc5ab146a99bf5061a7eb4976b573f560bc898ef3bf8435448dd5e7ad" -dependencies = [ - "dotenvy", - "either", - "heck", - "hex", - "once_cell", - "proc-macro2", - "quote", - "serde", - "serde_json", - "sha2", - "sqlx-core", - "sqlx-mysql", - "sqlx-postgres", - "sqlx-sqlite", - "syn", - "tempfile", - "tokio", - "url", -] - -[[package]] -name = "sqlx-mysql" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4560278f0e00ce64938540546f59f590d60beee33fffbd3b9cd47851e5fff233" -dependencies = [ - "atoi", - "base64", - "bitflags", - "byteorder", - "bytes", - "crc", - "digest", - "dotenvy", - "either", - "futures-channel", - "futures-core", - "futures-io", - "futures-util", - "generic-array", - "hex", - "hkdf", - "hmac", - "itoa", - "log", - "md-5", - "memchr", - "once_cell", - "percent-encoding", - "rand 0.8.5", - "rsa", - "serde", - "sha1", - "sha2", - "smallvec", - "sqlx-core", - "stringprep", - "thiserror 2.0.12", - "tracing", - "whoami", -] - -[[package]] -name = "sqlx-postgres" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5b98a57f363ed6764d5b3a12bfedf62f07aa16e1856a7ddc2a0bb190a959613" -dependencies = [ - "atoi", - "base64", - "bitflags", - "byteorder", - "crc", - "dotenvy", - "etcetera", - "futures-channel", - "futures-core", - "futures-util", - "hex", - "hkdf", - "hmac", - "home", - "itoa", - "log", - "md-5", - "memchr", - "once_cell", - "rand 0.8.5", - "serde", - "serde_json", - "sha2", - "smallvec", - "sqlx-core", - "stringprep", - "thiserror 2.0.12", - "tracing", - "whoami", -] - -[[package]] -name = "sqlx-sqlite" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f85ca71d3a5b24e64e1d08dd8fe36c6c95c339a896cc33068148906784620540" -dependencies = [ - "atoi", - "flume", - "futures-channel", - "futures-core", - "futures-executor", - "futures-intrusive", - "futures-util", - "libsqlite3-sys", - "log", - "percent-encoding", - "serde", - "serde_urlencoded", - "sqlx-core", - "tracing", - "url", -] - -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - -[[package]] -name = "std-macro-extensions" -version = "0.21.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b44c771c1591df90e3b49f618362dc1c431a8df6a7a6cc69dbe00757b158522" - -[[package]] -name = "stringprep" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" -dependencies = [ - "unicode-bidi", - "unicode-normalization", - "unicode-properties", -] - -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - -[[package]] -name = "syn" -version = "2.0.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "synstructure" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tempfile" -version = "3.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488960f40a3fd53d72c2a29a58722561dee8afdd175bd88e3db4677d7b2ba600" -dependencies = [ - "fastrand", - "getrandom 0.3.1", - "once_cell", - "rustix", - "windows-sys 0.59.0", -] - -[[package]] -name = "thiserror" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -dependencies = [ - "thiserror-impl 1.0.69", -] - -[[package]] -name = "thiserror" -version = "2.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" -dependencies = [ - "thiserror-impl 2.0.12", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "thiserror-impl" -version = "2.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tinystr" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" -dependencies = [ - "displaydoc", - "zerovec", -] - -[[package]] -name = "tinyvec" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.44.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.52.0", -] - -[[package]] -name = "tokio-macros" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tokio-stream" -version = "0.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "tracing" -version = "0.1.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" -dependencies = [ - "log", - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tracing-core" -version = "0.1.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" -dependencies = [ - "once_cell", -] - -[[package]] -name = "typenum" -version = "1.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" - -[[package]] -name = "unicode-bidi" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" - -[[package]] -name = "unicode-ident" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" - -[[package]] -name = "unicode-normalization" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-properties" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" - -[[package]] -name = "url" -version = "2.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - -[[package]] -name = "utf8_iter" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" - -[[package]] -name = "value-trait" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9170e001f458781e92711d2ad666110f153e4e50bfd5cbd02db6547625714187" -dependencies = [ - "float-cmp", - "halfbrown", - "itoa", - "ryu", -] - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasi" -version = "0.13.3+wasi-0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" -dependencies = [ - "wit-bindgen-rt", -] - -[[package]] -name = "wasite" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" - -[[package]] -name = "wasm-bindgen" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" -dependencies = [ - "cfg-if", - "once_cell", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "whoami" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d" -dependencies = [ - "redox_syscall", - "wasite", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "wit-bindgen-rt" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" -dependencies = [ - "bitflags", -] - -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - -[[package]] -name = "writeable" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" - -[[package]] -name = "xml-rs" -version = "0.8.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5b940ebc25896e71dd073bad2dbaa2abfe97b0a391415e22ad1326d9c54e3c4" - -[[package]] -name = "yoke" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" -dependencies = [ - "serde", - "stable_deref_trait", - "yoke-derive", - "zerofrom", -] - -[[package]] -name = "yoke-derive" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - -[[package]] -name = "zerocopy" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" -dependencies = [ - "zerocopy-derive 0.7.35", -] - -[[package]] -name = "zerocopy" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6" -dependencies = [ - "zerocopy-derive 0.8.23", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "zerocopy-derive" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "zerofrom" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" -dependencies = [ - "zerofrom-derive", -] - -[[package]] -name = "zerofrom-derive" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - -[[package]] -name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" - -[[package]] -name = "zerovec" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" -dependencies = [ - "yoke", - "zerofrom", - "zerovec-derive", -] - -[[package]] -name = "zerovec-derive" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] From c90214f2b51ceb6069dc457946f4ccf319d01c9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 13:40:08 +0800 Subject: [PATCH 054/260] feat: lock --- frameworks/Rust/hyperlane/Cargo.lock | 2332 ++++++++++++++++++++++++++ frameworks/Rust/hyperlane/src/db.rs | 13 +- 2 files changed, 2344 insertions(+), 1 deletion(-) create mode 100644 frameworks/Rust/hyperlane/Cargo.lock diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock new file mode 100644 index 00000000000..6a0b9a5ebb9 --- /dev/null +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -0,0 +1,2332 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "addr2line" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy 0.7.35", +] + +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "async-func" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8882ceb09bc57f9b7a52d48cffab866310aeeb6a5aa1c9420640e7689660c9ee" +dependencies = [ + "tokio", +] + +[[package]] +name = "atoi" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" +dependencies = [ + "num-traits", +] + +[[package]] +name = "autocfg" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + +[[package]] +name = "backtrace" +version = "0.3.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +dependencies = [ + "addr2line", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", + "windows-targets 0.52.6", +] + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" + +[[package]] +name = "bitflags" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" +dependencies = [ + "serde", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "brotli" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "4.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bumpalo" +version = "3.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "clonelicious" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c61986b9f0347d401ef41468e7aadba2ab6dfc2547df1862f2563250fbfa8d3" + +[[package]] +name = "color-output" +version = "6.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c85488dab2761e7883ac16c88819eefb468973b57591ef3c2baa743c35004ff" +dependencies = [ + "hyperlane-time", +] + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crc" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +dependencies = [ + "serde", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "etcetera" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" +dependencies = [ + "cfg-if", + "home", + "windows-sys 0.48.0", +] + +[[package]] +name = "event-listener" +version = "5.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "file-operation" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaba2fa080e689c4ec9a0666c5b7eb074182fdba13a34e97b19b56ac2a855556" +dependencies = [ + "tokio", +] + +[[package]] +name = "flate2" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11faaf5a5236997af9848be0bef4db95824b1d534ebc64d0f0c6cf3e67bd38dc" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "float-cmp" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8" +dependencies = [ + "num-traits", +] + +[[package]] +name = "flume" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" +dependencies = [ + "futures-core", + "futures-sink", + "spin", +] + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-executor" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-intrusive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot", +] + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.13.3+wasi-0.2.2", + "windows-targets 0.52.6", +] + +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" + +[[package]] +name = "halfbrown" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8588661a8607108a5ca69cab034063441a0413a0b041c13618a7dd348021ef6f" +dependencies = [ + "hashbrown 0.14.5", + "serde", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", + "allocator-api2", +] + +[[package]] +name = "hashbrown" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "hashlink" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" +dependencies = [ + "hashbrown 0.15.2", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "home" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "http-compress" +version = "2.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98b1cde57d40ec354eb0d1f7fea31e5d621e2bfbc9ec087f6d06944b5ac1ca3a" +dependencies = [ + "brotli", + "flate2", + "http-constant", +] + +[[package]] +name = "http-constant" +version = "1.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82b282f8cb8ff76d9ad521f4e159143bfe2639a03e7d91871f740b716f28c608" + +[[package]] +name = "http-type" +version = "3.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ac0f534e18616d3a80a032fed278879bfd663d071282377ce66c55ebd7eef09" +dependencies = [ + "hex", + "http-compress", + "http-constant", + "lombok-macros", + "serde", + "serde-xml-rs", + "serde_json", + "serde_urlencoded", + "tokio", + "url", +] + +[[package]] +name = "hyperlane" +version = "4.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "678154dd86505451acd8d9a3faea8edbc20e61f1e2024d8b26d40d8b59b886eb" +dependencies = [ + "async-func", + "clonelicious", + "color-output", + "file-operation", + "futures", + "http-compress", + "http-type", + "hyperlane-log", + "hyperlane-time", + "lombok-macros", + "once_cell", + "recoverable-spawn", + "recoverable-thread-pool", + "serde", + "serde_json", + "server-manager", + "simd-json", + "std-macro-extensions", + "tokio", +] + +[[package]] +name = "hyperlane-log" +version = "1.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e4ac75392e2efe8ca225dd9dbb3a027b861ea20c483a7763ee736edabe10cca" +dependencies = [ + "file-operation", + "hyperlane-time", + "lombok-macros", + "once_cell", + "recoverable-spawn", +] + +[[package]] +name = "hyperlane-time" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a65d56c50277b8523f6a77f5643a2cc17d58565a411fa1893b761ebaef785f4e" + +[[package]] +name = "hyperlane_techempower" +version = "0.0.1" +dependencies = [ + "hyperlane", + "rand 0.9.0", + "serde", + "sqlx", +] + +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "idna" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "indexmap" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" +dependencies = [ + "equivalent", + "hashbrown 0.15.2", +] + +[[package]] +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "js-sys" +version = "0.3.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin", +] + +[[package]] +name = "libc" +version = "0.2.171" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" + +[[package]] +name = "libm" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" + +[[package]] +name = "libsqlite3-sys" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" +dependencies = [ + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linux-raw-sys" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" + +[[package]] +name = "litemap" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" + +[[package]] +name = "lombok-macros" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebe4fc0110b8bdb29b2423a2be59fa7b9b3e0e1b225553514895564420887bc5" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "miniz_oxide" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" +dependencies = [ + "adler2", +] + +[[package]] +name = "mio" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +dependencies = [ + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.52.0", +] + +[[package]] +name = "num-bigint-dig" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" +dependencies = [ + "byteorder", + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "smallvec", + "zeroize", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "object" +version = "0.36.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" + +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.52.6", +] + +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pin-project-lite" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der", + "pkcs8", + "spki", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy 0.8.23", +] + +[[package]] +name = "proc-macro2" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", + "zerocopy 0.8.23", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.15", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.1", +] + +[[package]] +name = "recoverable-spawn" +version = "3.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5081593fb6a36af3e9ca8c4f23735f9d454a252cba0629509baa3947983846d" +dependencies = [ + "once_cell", + "tokio", +] + +[[package]] +name = "recoverable-thread-pool" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4190261c8a4823ceaf4b9cd68bf28deca98aa5697d2e1ec66e8053dac2a817fa" +dependencies = [ + "lombok-macros", + "recoverable-spawn", +] + +[[package]] +name = "redox_syscall" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" +dependencies = [ + "bitflags", +] + +[[package]] +name = "ref-cast" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "rsa" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" +dependencies = [ + "const-oid", + "digest", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core 0.6.4", + "signature", + "spki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustix" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7178faa4b75a30e269c71e61c353ce2748cf3d76f0c44c393f4e60abf49b825" +dependencies = [ + "bitflags", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.59.0", +] + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "serde" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-xml-rs" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb3aa78ecda1ebc9ec9847d5d3aba7d618823446a049ba2491940506da6e2782" +dependencies = [ + "log", + "serde", + "thiserror 1.0.69", + "xml-rs", +] + +[[package]] +name = "serde_derive" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.140" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "server-manager" +version = "3.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5144bc130554928fb304af2e7590742db173a40f82672613dc293f7567e8730e" +dependencies = [ + "tokio", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +dependencies = [ + "libc", +] + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core 0.6.4", +] + +[[package]] +name = "simd-json" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2bcf6c6e164e81bc7a5d49fc6988b3d515d9e8c07457d7b74ffb9324b9cd40" +dependencies = [ + "getrandom 0.2.15", + "halfbrown", + "ref-cast", + "serde", + "serde_json", + "simdutf8", + "value-trait", +] + +[[package]] +name = "simdutf8" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" +dependencies = [ + "serde", +] + +[[package]] +name = "socket2" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "sqlx" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4410e73b3c0d8442c5f99b425d7a435b5ee0ae4167b3196771dd3f7a01be745f" +dependencies = [ + "sqlx-core", + "sqlx-macros", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", +] + +[[package]] +name = "sqlx-core" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a007b6936676aa9ab40207cde35daab0a04b823be8ae004368c0793b96a61e0" +dependencies = [ + "bytes", + "crc", + "crossbeam-queue", + "either", + "event-listener", + "futures-core", + "futures-intrusive", + "futures-io", + "futures-util", + "hashbrown 0.15.2", + "hashlink", + "indexmap", + "log", + "memchr", + "once_cell", + "percent-encoding", + "serde", + "serde_json", + "sha2", + "smallvec", + "thiserror 2.0.12", + "tokio", + "tokio-stream", + "tracing", + "url", +] + +[[package]] +name = "sqlx-macros" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3112e2ad78643fef903618d78cf0aec1cb3134b019730edb039b69eaf531f310" +dependencies = [ + "proc-macro2", + "quote", + "sqlx-core", + "sqlx-macros-core", + "syn", +] + +[[package]] +name = "sqlx-macros-core" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e9f90acc5ab146a99bf5061a7eb4976b573f560bc898ef3bf8435448dd5e7ad" +dependencies = [ + "dotenvy", + "either", + "heck", + "hex", + "once_cell", + "proc-macro2", + "quote", + "serde", + "serde_json", + "sha2", + "sqlx-core", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", + "syn", + "tempfile", + "tokio", + "url", +] + +[[package]] +name = "sqlx-mysql" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4560278f0e00ce64938540546f59f590d60beee33fffbd3b9cd47851e5fff233" +dependencies = [ + "atoi", + "base64", + "bitflags", + "byteorder", + "bytes", + "crc", + "digest", + "dotenvy", + "either", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "generic-array", + "hex", + "hkdf", + "hmac", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "percent-encoding", + "rand 0.8.5", + "rsa", + "serde", + "sha1", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror 2.0.12", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-postgres" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5b98a57f363ed6764d5b3a12bfedf62f07aa16e1856a7ddc2a0bb190a959613" +dependencies = [ + "atoi", + "base64", + "bitflags", + "byteorder", + "crc", + "dotenvy", + "etcetera", + "futures-channel", + "futures-core", + "futures-util", + "hex", + "hkdf", + "hmac", + "home", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "rand 0.8.5", + "serde", + "serde_json", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror 2.0.12", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-sqlite" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f85ca71d3a5b24e64e1d08dd8fe36c6c95c339a896cc33068148906784620540" +dependencies = [ + "atoi", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "libsqlite3-sys", + "log", + "percent-encoding", + "serde", + "serde_urlencoded", + "sqlx-core", + "tracing", + "url", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "std-macro-extensions" +version = "0.21.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b44c771c1591df90e3b49f618362dc1c431a8df6a7a6cc69dbe00757b158522" + +[[package]] +name = "stringprep" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", + "unicode-properties", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "syn" +version = "2.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tempfile" +version = "3.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488960f40a3fd53d72c2a29a58722561dee8afdd175bd88e3db4677d7b2ba600" +dependencies = [ + "fastrand", + "getrandom 0.3.1", + "once_cell", + "rustix", + "windows-sys 0.59.0", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl 2.0.12", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.44.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.52.0", +] + +[[package]] +name = "tokio-macros" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-stream" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tracing" +version = "0.1.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tracing-core" +version = "0.1.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +dependencies = [ + "once_cell", +] + +[[package]] +name = "typenum" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" + +[[package]] +name = "unicode-bidi" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + +[[package]] +name = "unicode-normalization" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-properties" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" + +[[package]] +name = "url" +version = "2.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "value-trait" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9170e001f458781e92711d2ad666110f153e4e50bfd5cbd02db6547625714187" +dependencies = [ + "float-cmp", + "halfbrown", + "itoa", + "ryu", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasi" +version = "0.13.3+wasi-0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +dependencies = [ + "wit-bindgen-rt", +] + +[[package]] +name = "wasite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" + +[[package]] +name = "wasm-bindgen" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +dependencies = [ + "cfg-if", + "once_cell", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +dependencies = [ + "bumpalo", + "log", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "whoami" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d" +dependencies = [ + "redox_syscall", + "wasite", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "wit-bindgen-rt" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags", +] + +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + +[[package]] +name = "xml-rs" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5b940ebc25896e71dd073bad2dbaa2abfe97b0a391415e22ad1326d9c54e3c4" + +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "zerocopy-derive 0.7.35", +] + +[[package]] +name = "zerocopy" +version = "0.8.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6" +dependencies = [ + "zerocopy-derive 0.8.23", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 137fc5ea695..529cf3628b2 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -1,8 +1,17 @@ +use std::{time::Duration, u64}; + use crate::*; #[inline] pub async fn get_db_connection() -> DbPoolConnection { - let db_pool: DbPoolConnection = DB.read().await.clone().unwrap(); + if let Some(db_pool) = DB.read().await.clone() { + return db_pool; + }; + let db_pool: DbPoolConnection = connection_db().await; + { + let mut db_pool_lock: RwLockWriteGuard<'_, Option> = DB.write().await; + *db_pool_lock = Some(db_pool.clone()); + } db_pool } @@ -111,6 +120,8 @@ pub async fn connection_db() -> DbPoolConnection { }; let pool: DbPoolConnection = PgPoolOptions::new() .max_connections(1_000) + .max_lifetime(Some(Duration::from_secs(u64::MAX))) + .idle_timeout(None) .connect(db_url) .await .unwrap(); From 5da4ec20998c9e95c797ca8efc7f8cf855685953 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 13:44:28 +0800 Subject: [PATCH 055/260] feat: lock --- frameworks/Rust/hyperlane/src/db.rs | 4 +--- frameworks/Rust/hyperlane/src/main.rs | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 529cf3628b2..6490537286a 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -1,5 +1,3 @@ -use std::{time::Duration, u64}; - use crate::*; #[inline] @@ -120,7 +118,7 @@ pub async fn connection_db() -> DbPoolConnection { }; let pool: DbPoolConnection = PgPoolOptions::new() .max_connections(1_000) - .max_lifetime(Some(Duration::from_secs(u64::MAX))) + .max_lifetime(Some(Duration::from_secs(860_400))) .idle_timeout(None) .connect(db_url) .await diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 5e5c0d19660..9e3364d4556 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -31,7 +31,7 @@ pub(crate) use sqlx::{ postgres::{PgPoolOptions, PgRow}, Pool, Postgres, Row, }; -pub(crate) use std::{fmt, sync::Arc}; +pub(crate) use std::{fmt, sync::Arc, time::Duration}; pub(crate) use utils::*; #[tokio::main] From 908c350afc194ab5a64143792bcb4636390f557a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 13:46:55 +0800 Subject: [PATCH 056/260] feat: lock --- frameworks/Rust/hyperlane/src/db.rs | 5 +++-- frameworks/Rust/hyperlane/src/main.rs | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 6490537286a..b6cdeb70052 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -117,8 +117,9 @@ pub async fn connection_db() -> DbPoolConnection { ), }; let pool: DbPoolConnection = PgPoolOptions::new() - .max_connections(1_000) - .max_lifetime(Some(Duration::from_secs(860_400))) + .min_connections(1_000) + .min_connections(1_000_000) + .max_lifetime(None) .idle_timeout(None) .connect(db_url) .await diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 9e3364d4556..5e5c0d19660 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -31,7 +31,7 @@ pub(crate) use sqlx::{ postgres::{PgPoolOptions, PgRow}, Pool, Postgres, Row, }; -pub(crate) use std::{fmt, sync::Arc, time::Duration}; +pub(crate) use std::{fmt, sync::Arc}; pub(crate) use utils::*; #[tokio::main] From a870482aa2f373573439f2a772899c838db89335 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 13:56:44 +0800 Subject: [PATCH 057/260] feat: db pool --- frameworks/Rust/hyperlane/src/db.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index b6cdeb70052..8529b4be2d1 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -117,8 +117,7 @@ pub async fn connection_db() -> DbPoolConnection { ), }; let pool: DbPoolConnection = PgPoolOptions::new() - .min_connections(1_000) - .min_connections(1_000_000) + .min_connections(get_thread_count() as u32) .max_lifetime(None) .idle_timeout(None) .connect(db_url) From 7f6484c8f4181742a2529896d4543f1cdbaa20b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 13:58:47 +0800 Subject: [PATCH 058/260] feat: db pool --- frameworks/Rust/hyperlane/src/db.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 8529b4be2d1..e196afa0641 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -116,8 +116,9 @@ pub async fn connection_db() -> DbPoolConnection { DATABASE_NAME ), }; + let pool_size: u32 = (get_thread_count() << 2).min(100) as u32; let pool: DbPoolConnection = PgPoolOptions::new() - .min_connections(get_thread_count() as u32) + .min_connections(pool_size) .max_lifetime(None) .idle_timeout(None) .connect(db_url) From 23ea395b53fe06fffdfb5cb560cb19e2a84783b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 14:14:03 +0800 Subject: [PATCH 059/260] feat: lock --- frameworks/Rust/hyperlane/Cargo.lock | 2332 -------------------------- 1 file changed, 2332 deletions(-) delete mode 100644 frameworks/Rust/hyperlane/Cargo.lock diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock deleted file mode 100644 index 6a0b9a5ebb9..00000000000 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ /dev/null @@ -1,2332 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "addr2line" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" - -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy 0.7.35", -] - -[[package]] -name = "alloc-no-stdlib" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" - -[[package]] -name = "alloc-stdlib" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" -dependencies = [ - "alloc-no-stdlib", -] - -[[package]] -name = "allocator-api2" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" - -[[package]] -name = "async-func" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8882ceb09bc57f9b7a52d48cffab866310aeeb6a5aa1c9420640e7689660c9ee" -dependencies = [ - "tokio", -] - -[[package]] -name = "atoi" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" -dependencies = [ - "num-traits", -] - -[[package]] -name = "autocfg" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" - -[[package]] -name = "backtrace" -version = "0.3.74" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" -dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", - "windows-targets 0.52.6", -] - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - -[[package]] -name = "base64ct" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" - -[[package]] -name = "bitflags" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" -dependencies = [ - "serde", -] - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "brotli" -version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", -] - -[[package]] -name = "brotli-decompressor" -version = "4.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", -] - -[[package]] -name = "bumpalo" -version = "3.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "clonelicious" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c61986b9f0347d401ef41468e7aadba2ab6dfc2547df1862f2563250fbfa8d3" - -[[package]] -name = "color-output" -version = "6.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c85488dab2761e7883ac16c88819eefb468973b57591ef3c2baa743c35004ff" -dependencies = [ - "hyperlane-time", -] - -[[package]] -name = "concurrent-queue" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - -[[package]] -name = "cpufeatures" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" -dependencies = [ - "libc", -] - -[[package]] -name = "crc" -version = "3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" -dependencies = [ - "crc-catalog", -] - -[[package]] -name = "crc-catalog" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" - -[[package]] -name = "crc32fast" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-queue" -version = "0.3.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "der" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" -dependencies = [ - "const-oid", - "pem-rfc7468", - "zeroize", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "const-oid", - "crypto-common", - "subtle", -] - -[[package]] -name = "displaydoc" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "dotenvy" -version = "0.15.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" - -[[package]] -name = "either" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" -dependencies = [ - "serde", -] - -[[package]] -name = "equivalent" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" - -[[package]] -name = "errno" -version = "0.3.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - -[[package]] -name = "etcetera" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" -dependencies = [ - "cfg-if", - "home", - "windows-sys 0.48.0", -] - -[[package]] -name = "event-listener" -version = "5.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "fastrand" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" - -[[package]] -name = "file-operation" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaba2fa080e689c4ec9a0666c5b7eb074182fdba13a34e97b19b56ac2a855556" -dependencies = [ - "tokio", -] - -[[package]] -name = "flate2" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11faaf5a5236997af9848be0bef4db95824b1d534ebc64d0f0c6cf3e67bd38dc" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - -[[package]] -name = "float-cmp" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8" -dependencies = [ - "num-traits", -] - -[[package]] -name = "flume" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" -dependencies = [ - "futures-core", - "futures-sink", - "spin", -] - -[[package]] -name = "foldhash" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "futures" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" - -[[package]] -name = "futures-executor" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-intrusive" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" -dependencies = [ - "futures-core", - "lock_api", - "parking_lot", -] - -[[package]] -name = "futures-io" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" - -[[package]] -name = "futures-macro" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "futures-sink" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" - -[[package]] -name = "futures-task" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" - -[[package]] -name = "futures-util" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "wasm-bindgen", -] - -[[package]] -name = "getrandom" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" -dependencies = [ - "cfg-if", - "libc", - "wasi 0.13.3+wasi-0.2.2", - "windows-targets 0.52.6", -] - -[[package]] -name = "gimli" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" - -[[package]] -name = "halfbrown" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8588661a8607108a5ca69cab034063441a0413a0b041c13618a7dd348021ef6f" -dependencies = [ - "hashbrown 0.14.5", - "serde", -] - -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", - "allocator-api2", -] - -[[package]] -name = "hashbrown" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" -dependencies = [ - "allocator-api2", - "equivalent", - "foldhash", -] - -[[package]] -name = "hashlink" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" -dependencies = [ - "hashbrown 0.15.2", -] - -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hkdf" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" -dependencies = [ - "hmac", -] - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest", -] - -[[package]] -name = "home" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "http-compress" -version = "2.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98b1cde57d40ec354eb0d1f7fea31e5d621e2bfbc9ec087f6d06944b5ac1ca3a" -dependencies = [ - "brotli", - "flate2", - "http-constant", -] - -[[package]] -name = "http-constant" -version = "1.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82b282f8cb8ff76d9ad521f4e159143bfe2639a03e7d91871f740b716f28c608" - -[[package]] -name = "http-type" -version = "3.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ac0f534e18616d3a80a032fed278879bfd663d071282377ce66c55ebd7eef09" -dependencies = [ - "hex", - "http-compress", - "http-constant", - "lombok-macros", - "serde", - "serde-xml-rs", - "serde_json", - "serde_urlencoded", - "tokio", - "url", -] - -[[package]] -name = "hyperlane" -version = "4.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678154dd86505451acd8d9a3faea8edbc20e61f1e2024d8b26d40d8b59b886eb" -dependencies = [ - "async-func", - "clonelicious", - "color-output", - "file-operation", - "futures", - "http-compress", - "http-type", - "hyperlane-log", - "hyperlane-time", - "lombok-macros", - "once_cell", - "recoverable-spawn", - "recoverable-thread-pool", - "serde", - "serde_json", - "server-manager", - "simd-json", - "std-macro-extensions", - "tokio", -] - -[[package]] -name = "hyperlane-log" -version = "1.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e4ac75392e2efe8ca225dd9dbb3a027b861ea20c483a7763ee736edabe10cca" -dependencies = [ - "file-operation", - "hyperlane-time", - "lombok-macros", - "once_cell", - "recoverable-spawn", -] - -[[package]] -name = "hyperlane-time" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a65d56c50277b8523f6a77f5643a2cc17d58565a411fa1893b761ebaef785f4e" - -[[package]] -name = "hyperlane_techempower" -version = "0.0.1" -dependencies = [ - "hyperlane", - "rand 0.9.0", - "serde", - "sqlx", -] - -[[package]] -name = "icu_collections" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" -dependencies = [ - "displaydoc", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_locid" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" -dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", -] - -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" - -[[package]] -name = "icu_normalizer" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "utf16_iter", - "utf8_iter", - "write16", - "zerovec", -] - -[[package]] -name = "icu_normalizer_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" - -[[package]] -name = "icu_properties" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_locid_transform", - "icu_properties_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_properties_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" - -[[package]] -name = "icu_provider" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_provider_macros", - "stable_deref_trait", - "tinystr", - "writeable", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "idna" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" -dependencies = [ - "idna_adapter", - "smallvec", - "utf8_iter", -] - -[[package]] -name = "idna_adapter" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" -dependencies = [ - "icu_normalizer", - "icu_properties", -] - -[[package]] -name = "indexmap" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" -dependencies = [ - "equivalent", - "hashbrown 0.15.2", -] - -[[package]] -name = "itoa" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" - -[[package]] -name = "js-sys" -version = "0.3.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" -dependencies = [ - "once_cell", - "wasm-bindgen", -] - -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -dependencies = [ - "spin", -] - -[[package]] -name = "libc" -version = "0.2.171" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" - -[[package]] -name = "libm" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" - -[[package]] -name = "libsqlite3-sys" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" -dependencies = [ - "pkg-config", - "vcpkg", -] - -[[package]] -name = "linux-raw-sys" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" - -[[package]] -name = "litemap" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" - -[[package]] -name = "lock_api" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" - -[[package]] -name = "lombok-macros" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebe4fc0110b8bdb29b2423a2be59fa7b9b3e0e1b225553514895564420887bc5" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "md-5" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" -dependencies = [ - "cfg-if", - "digest", -] - -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "miniz_oxide" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" -dependencies = [ - "adler2", -] - -[[package]] -name = "mio" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" -dependencies = [ - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", -] - -[[package]] -name = "num-bigint-dig" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" -dependencies = [ - "byteorder", - "lazy_static", - "libm", - "num-integer", - "num-iter", - "num-traits", - "rand 0.8.5", - "smallvec", - "zeroize", -] - -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", - "libm", -] - -[[package]] -name = "object" -version = "0.36.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" - -[[package]] -name = "parking" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" - -[[package]] -name = "parking_lot" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.52.6", -] - -[[package]] -name = "pem-rfc7468" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" -dependencies = [ - "base64ct", -] - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "pin-project-lite" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkcs1" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" -dependencies = [ - "der", - "pkcs8", - "spki", -] - -[[package]] -name = "pkcs8" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" -dependencies = [ - "der", - "spki", -] - -[[package]] -name = "pkg-config" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" - -[[package]] -name = "ppv-lite86" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" -dependencies = [ - "zerocopy 0.8.23", -] - -[[package]] -name = "proc-macro2" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - -[[package]] -name = "rand" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" -dependencies = [ - "rand_chacha 0.9.0", - "rand_core 0.9.3", - "zerocopy 0.8.23", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_chacha" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" -dependencies = [ - "ppv-lite86", - "rand_core 0.9.3", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.15", -] - -[[package]] -name = "rand_core" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" -dependencies = [ - "getrandom 0.3.1", -] - -[[package]] -name = "recoverable-spawn" -version = "3.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5081593fb6a36af3e9ca8c4f23735f9d454a252cba0629509baa3947983846d" -dependencies = [ - "once_cell", - "tokio", -] - -[[package]] -name = "recoverable-thread-pool" -version = "2.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4190261c8a4823ceaf4b9cd68bf28deca98aa5697d2e1ec66e8053dac2a817fa" -dependencies = [ - "lombok-macros", - "recoverable-spawn", -] - -[[package]] -name = "redox_syscall" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" -dependencies = [ - "bitflags", -] - -[[package]] -name = "ref-cast" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "rsa" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" -dependencies = [ - "const-oid", - "digest", - "num-bigint-dig", - "num-integer", - "num-traits", - "pkcs1", - "pkcs8", - "rand_core 0.6.4", - "signature", - "spki", - "subtle", - "zeroize", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - -[[package]] -name = "rustix" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7178faa4b75a30e269c71e61c353ce2748cf3d76f0c44c393f4e60abf49b825" -dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.59.0", -] - -[[package]] -name = "ryu" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "serde" -version = "1.0.219" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde-xml-rs" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb3aa78ecda1ebc9ec9847d5d3aba7d618823446a049ba2491940506da6e2782" -dependencies = [ - "log", - "serde", - "thiserror 1.0.69", - "xml-rs", -] - -[[package]] -name = "serde_derive" -version = "1.0.219" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.140" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" -dependencies = [ - "itoa", - "memchr", - "ryu", - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "server-manager" -version = "3.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5144bc130554928fb304af2e7590742db173a40f82672613dc293f7567e8730e" -dependencies = [ - "tokio", -] - -[[package]] -name = "sha1" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" -dependencies = [ - "libc", -] - -[[package]] -name = "signature" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "digest", - "rand_core 0.6.4", -] - -[[package]] -name = "simd-json" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2bcf6c6e164e81bc7a5d49fc6988b3d515d9e8c07457d7b74ffb9324b9cd40" -dependencies = [ - "getrandom 0.2.15", - "halfbrown", - "ref-cast", - "serde", - "serde_json", - "simdutf8", - "value-trait", -] - -[[package]] -name = "simdutf8" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "smallvec" -version = "1.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" -dependencies = [ - "serde", -] - -[[package]] -name = "socket2" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -dependencies = [ - "lock_api", -] - -[[package]] -name = "spki" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" -dependencies = [ - "base64ct", - "der", -] - -[[package]] -name = "sqlx" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4410e73b3c0d8442c5f99b425d7a435b5ee0ae4167b3196771dd3f7a01be745f" -dependencies = [ - "sqlx-core", - "sqlx-macros", - "sqlx-mysql", - "sqlx-postgres", - "sqlx-sqlite", -] - -[[package]] -name = "sqlx-core" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a007b6936676aa9ab40207cde35daab0a04b823be8ae004368c0793b96a61e0" -dependencies = [ - "bytes", - "crc", - "crossbeam-queue", - "either", - "event-listener", - "futures-core", - "futures-intrusive", - "futures-io", - "futures-util", - "hashbrown 0.15.2", - "hashlink", - "indexmap", - "log", - "memchr", - "once_cell", - "percent-encoding", - "serde", - "serde_json", - "sha2", - "smallvec", - "thiserror 2.0.12", - "tokio", - "tokio-stream", - "tracing", - "url", -] - -[[package]] -name = "sqlx-macros" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3112e2ad78643fef903618d78cf0aec1cb3134b019730edb039b69eaf531f310" -dependencies = [ - "proc-macro2", - "quote", - "sqlx-core", - "sqlx-macros-core", - "syn", -] - -[[package]] -name = "sqlx-macros-core" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e9f90acc5ab146a99bf5061a7eb4976b573f560bc898ef3bf8435448dd5e7ad" -dependencies = [ - "dotenvy", - "either", - "heck", - "hex", - "once_cell", - "proc-macro2", - "quote", - "serde", - "serde_json", - "sha2", - "sqlx-core", - "sqlx-mysql", - "sqlx-postgres", - "sqlx-sqlite", - "syn", - "tempfile", - "tokio", - "url", -] - -[[package]] -name = "sqlx-mysql" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4560278f0e00ce64938540546f59f590d60beee33fffbd3b9cd47851e5fff233" -dependencies = [ - "atoi", - "base64", - "bitflags", - "byteorder", - "bytes", - "crc", - "digest", - "dotenvy", - "either", - "futures-channel", - "futures-core", - "futures-io", - "futures-util", - "generic-array", - "hex", - "hkdf", - "hmac", - "itoa", - "log", - "md-5", - "memchr", - "once_cell", - "percent-encoding", - "rand 0.8.5", - "rsa", - "serde", - "sha1", - "sha2", - "smallvec", - "sqlx-core", - "stringprep", - "thiserror 2.0.12", - "tracing", - "whoami", -] - -[[package]] -name = "sqlx-postgres" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5b98a57f363ed6764d5b3a12bfedf62f07aa16e1856a7ddc2a0bb190a959613" -dependencies = [ - "atoi", - "base64", - "bitflags", - "byteorder", - "crc", - "dotenvy", - "etcetera", - "futures-channel", - "futures-core", - "futures-util", - "hex", - "hkdf", - "hmac", - "home", - "itoa", - "log", - "md-5", - "memchr", - "once_cell", - "rand 0.8.5", - "serde", - "serde_json", - "sha2", - "smallvec", - "sqlx-core", - "stringprep", - "thiserror 2.0.12", - "tracing", - "whoami", -] - -[[package]] -name = "sqlx-sqlite" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f85ca71d3a5b24e64e1d08dd8fe36c6c95c339a896cc33068148906784620540" -dependencies = [ - "atoi", - "flume", - "futures-channel", - "futures-core", - "futures-executor", - "futures-intrusive", - "futures-util", - "libsqlite3-sys", - "log", - "percent-encoding", - "serde", - "serde_urlencoded", - "sqlx-core", - "tracing", - "url", -] - -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - -[[package]] -name = "std-macro-extensions" -version = "0.21.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b44c771c1591df90e3b49f618362dc1c431a8df6a7a6cc69dbe00757b158522" - -[[package]] -name = "stringprep" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" -dependencies = [ - "unicode-bidi", - "unicode-normalization", - "unicode-properties", -] - -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - -[[package]] -name = "syn" -version = "2.0.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "synstructure" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tempfile" -version = "3.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488960f40a3fd53d72c2a29a58722561dee8afdd175bd88e3db4677d7b2ba600" -dependencies = [ - "fastrand", - "getrandom 0.3.1", - "once_cell", - "rustix", - "windows-sys 0.59.0", -] - -[[package]] -name = "thiserror" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -dependencies = [ - "thiserror-impl 1.0.69", -] - -[[package]] -name = "thiserror" -version = "2.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" -dependencies = [ - "thiserror-impl 2.0.12", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "thiserror-impl" -version = "2.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tinystr" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" -dependencies = [ - "displaydoc", - "zerovec", -] - -[[package]] -name = "tinyvec" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.44.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.52.0", -] - -[[package]] -name = "tokio-macros" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tokio-stream" -version = "0.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "tracing" -version = "0.1.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" -dependencies = [ - "log", - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tracing-core" -version = "0.1.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" -dependencies = [ - "once_cell", -] - -[[package]] -name = "typenum" -version = "1.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" - -[[package]] -name = "unicode-bidi" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" - -[[package]] -name = "unicode-ident" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" - -[[package]] -name = "unicode-normalization" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-properties" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" - -[[package]] -name = "url" -version = "2.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - -[[package]] -name = "utf8_iter" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" - -[[package]] -name = "value-trait" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9170e001f458781e92711d2ad666110f153e4e50bfd5cbd02db6547625714187" -dependencies = [ - "float-cmp", - "halfbrown", - "itoa", - "ryu", -] - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasi" -version = "0.13.3+wasi-0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" -dependencies = [ - "wit-bindgen-rt", -] - -[[package]] -name = "wasite" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" - -[[package]] -name = "wasm-bindgen" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" -dependencies = [ - "cfg-if", - "once_cell", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "whoami" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d" -dependencies = [ - "redox_syscall", - "wasite", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "wit-bindgen-rt" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" -dependencies = [ - "bitflags", -] - -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - -[[package]] -name = "writeable" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" - -[[package]] -name = "xml-rs" -version = "0.8.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5b940ebc25896e71dd073bad2dbaa2abfe97b0a391415e22ad1326d9c54e3c4" - -[[package]] -name = "yoke" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" -dependencies = [ - "serde", - "stable_deref_trait", - "yoke-derive", - "zerofrom", -] - -[[package]] -name = "yoke-derive" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - -[[package]] -name = "zerocopy" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" -dependencies = [ - "zerocopy-derive 0.7.35", -] - -[[package]] -name = "zerocopy" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6" -dependencies = [ - "zerocopy-derive 0.8.23", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "zerocopy-derive" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "zerofrom" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" -dependencies = [ - "zerofrom-derive", -] - -[[package]] -name = "zerofrom-derive" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - -[[package]] -name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" - -[[package]] -name = "zerovec" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" -dependencies = [ - "yoke", - "zerofrom", - "zerovec-derive", -] - -[[package]] -name = "zerovec-derive" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] From f3de990dd3eab107548a8362e2147265f45b4c5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 18:23:52 +0800 Subject: [PATCH 060/260] feat: lock --- frameworks/Rust/hyperlane/Cargo.lock | 2332 ++++++++++++++++++++++++ frameworks/Rust/hyperlane/src/main.rs | 2 +- frameworks/Rust/hyperlane/src/route.rs | 2 +- 3 files changed, 2334 insertions(+), 2 deletions(-) create mode 100644 frameworks/Rust/hyperlane/Cargo.lock diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock new file mode 100644 index 00000000000..6a0b9a5ebb9 --- /dev/null +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -0,0 +1,2332 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "addr2line" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy 0.7.35", +] + +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "async-func" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8882ceb09bc57f9b7a52d48cffab866310aeeb6a5aa1c9420640e7689660c9ee" +dependencies = [ + "tokio", +] + +[[package]] +name = "atoi" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" +dependencies = [ + "num-traits", +] + +[[package]] +name = "autocfg" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + +[[package]] +name = "backtrace" +version = "0.3.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +dependencies = [ + "addr2line", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", + "windows-targets 0.52.6", +] + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" + +[[package]] +name = "bitflags" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" +dependencies = [ + "serde", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "brotli" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "4.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bumpalo" +version = "3.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "clonelicious" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c61986b9f0347d401ef41468e7aadba2ab6dfc2547df1862f2563250fbfa8d3" + +[[package]] +name = "color-output" +version = "6.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c85488dab2761e7883ac16c88819eefb468973b57591ef3c2baa743c35004ff" +dependencies = [ + "hyperlane-time", +] + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crc" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +dependencies = [ + "serde", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "etcetera" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" +dependencies = [ + "cfg-if", + "home", + "windows-sys 0.48.0", +] + +[[package]] +name = "event-listener" +version = "5.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "file-operation" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaba2fa080e689c4ec9a0666c5b7eb074182fdba13a34e97b19b56ac2a855556" +dependencies = [ + "tokio", +] + +[[package]] +name = "flate2" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11faaf5a5236997af9848be0bef4db95824b1d534ebc64d0f0c6cf3e67bd38dc" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "float-cmp" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8" +dependencies = [ + "num-traits", +] + +[[package]] +name = "flume" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" +dependencies = [ + "futures-core", + "futures-sink", + "spin", +] + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-executor" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-intrusive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot", +] + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.13.3+wasi-0.2.2", + "windows-targets 0.52.6", +] + +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" + +[[package]] +name = "halfbrown" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8588661a8607108a5ca69cab034063441a0413a0b041c13618a7dd348021ef6f" +dependencies = [ + "hashbrown 0.14.5", + "serde", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", + "allocator-api2", +] + +[[package]] +name = "hashbrown" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "hashlink" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" +dependencies = [ + "hashbrown 0.15.2", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "home" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "http-compress" +version = "2.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98b1cde57d40ec354eb0d1f7fea31e5d621e2bfbc9ec087f6d06944b5ac1ca3a" +dependencies = [ + "brotli", + "flate2", + "http-constant", +] + +[[package]] +name = "http-constant" +version = "1.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82b282f8cb8ff76d9ad521f4e159143bfe2639a03e7d91871f740b716f28c608" + +[[package]] +name = "http-type" +version = "3.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ac0f534e18616d3a80a032fed278879bfd663d071282377ce66c55ebd7eef09" +dependencies = [ + "hex", + "http-compress", + "http-constant", + "lombok-macros", + "serde", + "serde-xml-rs", + "serde_json", + "serde_urlencoded", + "tokio", + "url", +] + +[[package]] +name = "hyperlane" +version = "4.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "678154dd86505451acd8d9a3faea8edbc20e61f1e2024d8b26d40d8b59b886eb" +dependencies = [ + "async-func", + "clonelicious", + "color-output", + "file-operation", + "futures", + "http-compress", + "http-type", + "hyperlane-log", + "hyperlane-time", + "lombok-macros", + "once_cell", + "recoverable-spawn", + "recoverable-thread-pool", + "serde", + "serde_json", + "server-manager", + "simd-json", + "std-macro-extensions", + "tokio", +] + +[[package]] +name = "hyperlane-log" +version = "1.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e4ac75392e2efe8ca225dd9dbb3a027b861ea20c483a7763ee736edabe10cca" +dependencies = [ + "file-operation", + "hyperlane-time", + "lombok-macros", + "once_cell", + "recoverable-spawn", +] + +[[package]] +name = "hyperlane-time" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a65d56c50277b8523f6a77f5643a2cc17d58565a411fa1893b761ebaef785f4e" + +[[package]] +name = "hyperlane_techempower" +version = "0.0.1" +dependencies = [ + "hyperlane", + "rand 0.9.0", + "serde", + "sqlx", +] + +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "idna" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "indexmap" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" +dependencies = [ + "equivalent", + "hashbrown 0.15.2", +] + +[[package]] +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "js-sys" +version = "0.3.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin", +] + +[[package]] +name = "libc" +version = "0.2.171" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" + +[[package]] +name = "libm" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" + +[[package]] +name = "libsqlite3-sys" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" +dependencies = [ + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linux-raw-sys" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" + +[[package]] +name = "litemap" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" + +[[package]] +name = "lombok-macros" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebe4fc0110b8bdb29b2423a2be59fa7b9b3e0e1b225553514895564420887bc5" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "miniz_oxide" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" +dependencies = [ + "adler2", +] + +[[package]] +name = "mio" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +dependencies = [ + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.52.0", +] + +[[package]] +name = "num-bigint-dig" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" +dependencies = [ + "byteorder", + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "smallvec", + "zeroize", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "object" +version = "0.36.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" + +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.52.6", +] + +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pin-project-lite" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der", + "pkcs8", + "spki", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy 0.8.23", +] + +[[package]] +name = "proc-macro2" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", + "zerocopy 0.8.23", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.15", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.1", +] + +[[package]] +name = "recoverable-spawn" +version = "3.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5081593fb6a36af3e9ca8c4f23735f9d454a252cba0629509baa3947983846d" +dependencies = [ + "once_cell", + "tokio", +] + +[[package]] +name = "recoverable-thread-pool" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4190261c8a4823ceaf4b9cd68bf28deca98aa5697d2e1ec66e8053dac2a817fa" +dependencies = [ + "lombok-macros", + "recoverable-spawn", +] + +[[package]] +name = "redox_syscall" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" +dependencies = [ + "bitflags", +] + +[[package]] +name = "ref-cast" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "rsa" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" +dependencies = [ + "const-oid", + "digest", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core 0.6.4", + "signature", + "spki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustix" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7178faa4b75a30e269c71e61c353ce2748cf3d76f0c44c393f4e60abf49b825" +dependencies = [ + "bitflags", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.59.0", +] + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "serde" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-xml-rs" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb3aa78ecda1ebc9ec9847d5d3aba7d618823446a049ba2491940506da6e2782" +dependencies = [ + "log", + "serde", + "thiserror 1.0.69", + "xml-rs", +] + +[[package]] +name = "serde_derive" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.140" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "server-manager" +version = "3.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5144bc130554928fb304af2e7590742db173a40f82672613dc293f7567e8730e" +dependencies = [ + "tokio", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +dependencies = [ + "libc", +] + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core 0.6.4", +] + +[[package]] +name = "simd-json" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2bcf6c6e164e81bc7a5d49fc6988b3d515d9e8c07457d7b74ffb9324b9cd40" +dependencies = [ + "getrandom 0.2.15", + "halfbrown", + "ref-cast", + "serde", + "serde_json", + "simdutf8", + "value-trait", +] + +[[package]] +name = "simdutf8" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" +dependencies = [ + "serde", +] + +[[package]] +name = "socket2" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "sqlx" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4410e73b3c0d8442c5f99b425d7a435b5ee0ae4167b3196771dd3f7a01be745f" +dependencies = [ + "sqlx-core", + "sqlx-macros", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", +] + +[[package]] +name = "sqlx-core" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a007b6936676aa9ab40207cde35daab0a04b823be8ae004368c0793b96a61e0" +dependencies = [ + "bytes", + "crc", + "crossbeam-queue", + "either", + "event-listener", + "futures-core", + "futures-intrusive", + "futures-io", + "futures-util", + "hashbrown 0.15.2", + "hashlink", + "indexmap", + "log", + "memchr", + "once_cell", + "percent-encoding", + "serde", + "serde_json", + "sha2", + "smallvec", + "thiserror 2.0.12", + "tokio", + "tokio-stream", + "tracing", + "url", +] + +[[package]] +name = "sqlx-macros" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3112e2ad78643fef903618d78cf0aec1cb3134b019730edb039b69eaf531f310" +dependencies = [ + "proc-macro2", + "quote", + "sqlx-core", + "sqlx-macros-core", + "syn", +] + +[[package]] +name = "sqlx-macros-core" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e9f90acc5ab146a99bf5061a7eb4976b573f560bc898ef3bf8435448dd5e7ad" +dependencies = [ + "dotenvy", + "either", + "heck", + "hex", + "once_cell", + "proc-macro2", + "quote", + "serde", + "serde_json", + "sha2", + "sqlx-core", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", + "syn", + "tempfile", + "tokio", + "url", +] + +[[package]] +name = "sqlx-mysql" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4560278f0e00ce64938540546f59f590d60beee33fffbd3b9cd47851e5fff233" +dependencies = [ + "atoi", + "base64", + "bitflags", + "byteorder", + "bytes", + "crc", + "digest", + "dotenvy", + "either", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "generic-array", + "hex", + "hkdf", + "hmac", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "percent-encoding", + "rand 0.8.5", + "rsa", + "serde", + "sha1", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror 2.0.12", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-postgres" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5b98a57f363ed6764d5b3a12bfedf62f07aa16e1856a7ddc2a0bb190a959613" +dependencies = [ + "atoi", + "base64", + "bitflags", + "byteorder", + "crc", + "dotenvy", + "etcetera", + "futures-channel", + "futures-core", + "futures-util", + "hex", + "hkdf", + "hmac", + "home", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "rand 0.8.5", + "serde", + "serde_json", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror 2.0.12", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-sqlite" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f85ca71d3a5b24e64e1d08dd8fe36c6c95c339a896cc33068148906784620540" +dependencies = [ + "atoi", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "libsqlite3-sys", + "log", + "percent-encoding", + "serde", + "serde_urlencoded", + "sqlx-core", + "tracing", + "url", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "std-macro-extensions" +version = "0.21.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b44c771c1591df90e3b49f618362dc1c431a8df6a7a6cc69dbe00757b158522" + +[[package]] +name = "stringprep" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", + "unicode-properties", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "syn" +version = "2.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tempfile" +version = "3.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488960f40a3fd53d72c2a29a58722561dee8afdd175bd88e3db4677d7b2ba600" +dependencies = [ + "fastrand", + "getrandom 0.3.1", + "once_cell", + "rustix", + "windows-sys 0.59.0", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl 2.0.12", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.44.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.52.0", +] + +[[package]] +name = "tokio-macros" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-stream" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tracing" +version = "0.1.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tracing-core" +version = "0.1.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +dependencies = [ + "once_cell", +] + +[[package]] +name = "typenum" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" + +[[package]] +name = "unicode-bidi" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + +[[package]] +name = "unicode-normalization" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-properties" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" + +[[package]] +name = "url" +version = "2.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "value-trait" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9170e001f458781e92711d2ad666110f153e4e50bfd5cbd02db6547625714187" +dependencies = [ + "float-cmp", + "halfbrown", + "itoa", + "ryu", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasi" +version = "0.13.3+wasi-0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +dependencies = [ + "wit-bindgen-rt", +] + +[[package]] +name = "wasite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" + +[[package]] +name = "wasm-bindgen" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +dependencies = [ + "cfg-if", + "once_cell", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +dependencies = [ + "bumpalo", + "log", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "whoami" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d" +dependencies = [ + "redox_syscall", + "wasite", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "wit-bindgen-rt" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags", +] + +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + +[[package]] +name = "xml-rs" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5b940ebc25896e71dd073bad2dbaa2abfe97b0a391415e22ad1326d9c54e3c4" + +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "zerocopy-derive 0.7.35", +] + +[[package]] +name = "zerocopy" +version = "0.8.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6" +dependencies = [ + "zerocopy-derive 0.8.23", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 5e5c0d19660..077763cdbf7 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -16,7 +16,7 @@ pub(crate) use hyperlane::{ serde_json::json, tokio::{ spawn, - sync::{RwLock, RwLockWriteGuard}, + sync::{RwLock, RwLockReadGuard, RwLockWriteGuard}, }, *, }; diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index c34ea5420a4..e52db693195 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -97,7 +97,7 @@ pub async fn cached_queries(controller_data: ControllerData) { .min(ROW_LIMIT as Queries) .max(1); let mut res: Vec = Vec::with_capacity(count as usize); - let cache: tokio::sync::RwLockReadGuard<'_, Vec> = CACHE.read().await; + let cache: RwLockReadGuard<'_, Vec> = CACHE.read().await; for i in 0..count { res.push(cache[i as usize].clone()); } From e0ea4358741a8af5eea9b5b8a5a7526b1e6d369c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 20:51:48 +0800 Subject: [PATCH 061/260] feat: db --- frameworks/Rust/hyperlane/src/db.rs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index e196afa0641..e979d72d890 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -53,7 +53,7 @@ pub async fn insert_records() { .await .unwrap(); let count: i64 = row.get(0); - let limit: i64 = ROW_LIMIT as i64; + let limit: i64 = RANDOM_MAX as i64; if count >= limit { return; } @@ -140,15 +140,18 @@ pub async fn get_update_data(limit: Queries) -> (String, Vec) { let new_random_number: i32 = rand::rng().random_range(1..RANDOM_MAX); let id: i32 = row.id; id_list.push(id); - value_list.push_str(&format!("WHEN {} THEN {} ", id, new_random_number)); + value_list.push_str(&format!( + "WHEN ?::INTEGER {} THEN {} ?::INTEGER ", + id, new_random_number + )); if i > 0 { - id_in_clause.push_str(", "); + id_in_clause.push_str("?::INTEGER,"); } id_in_clause.push_str(&id.to_string()); query_res_list.push(QueryRow::new(id, new_random_number)); } query.push_str(&value_list); - query.push_str(&format!("END WHERE id IN ({})", id_in_clause)); + query.push_str(&format!("END WHERE id IN ({}?::INTEGER)", id_in_clause)); (query, query_res_list) } @@ -175,11 +178,10 @@ pub async fn random_world_row(db_pool: &DbPoolConnection) -> QueryRow { TABLE_NAME_WORLD, random_id ); if let Ok(rows) = sqlx::query(&sql).fetch_one(db_pool).await { - let id: i32 = rows.get(KEY_ID); let random_number: i32 = rows.get(KEY_RANDOM_NUMBER); - return QueryRow::new(id, random_number); + return QueryRow::new(random_id, random_number); } - QueryRow::new(1, 1) + return QueryRow::new(random_id, 1); } #[inline] From b0d5b569c0e7c9490633d511482830da96ccdb66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 21:17:19 +0800 Subject: [PATCH 062/260] feat: db --- frameworks/Rust/hyperlane/src/db.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index e979d72d890..3a4d8c8b8f8 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -135,7 +135,7 @@ pub async fn get_update_data(limit: Queries) -> (String, Vec) { let mut query: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME_WORLD); let mut id_list: Vec = Vec::with_capacity(limit as usize); let mut value_list: String = String::new(); - let mut id_in_clause: String = String::new(); + let mut id_in_clause: String = String::from("?::INTEGER"); for (i, row) in rows.iter().enumerate() { let new_random_number: i32 = rand::rng().random_range(1..RANDOM_MAX); let id: i32 = row.id; @@ -145,13 +145,12 @@ pub async fn get_update_data(limit: Queries) -> (String, Vec) { id, new_random_number )); if i > 0 { - id_in_clause.push_str("?::INTEGER,"); + id_in_clause.push_str(",?::INTEGER"); } - id_in_clause.push_str(&id.to_string()); query_res_list.push(QueryRow::new(id, new_random_number)); } query.push_str(&value_list); - query.push_str(&format!("END WHERE id IN ({}?::INTEGER)", id_in_clause)); + query.push_str(&format!("END WHERE id IN ({})", id_in_clause)); (query, query_res_list) } From fc640d62950ff7864596715979caa649070e5f1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 21:36:35 +0800 Subject: [PATCH 063/260] feat: db --- frameworks/Rust/hyperlane/src/db.rs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 3a4d8c8b8f8..8f15c2f86bc 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -132,26 +132,28 @@ pub async fn get_update_data(limit: Queries) -> (String, Vec) { let db_pool: DbPoolConnection = get_db_connection().await; let mut query_res_list: Vec = Vec::with_capacity(limit as usize); let rows: Vec = get_some_row_id(limit, &db_pool).await; - let mut query: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME_WORLD); + let mut sql: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME_WORLD); let mut id_list: Vec = Vec::with_capacity(limit as usize); let mut value_list: String = String::new(); - let mut id_in_clause: String = String::from("?::INTEGER"); + let mut id_in_clause: String = format!("{}::INTEGER", rows[0].id); + let last_idx: usize = rows.len() - 1; for (i, row) in rows.iter().enumerate() { let new_random_number: i32 = rand::rng().random_range(1..RANDOM_MAX); let id: i32 = row.id; id_list.push(id); value_list.push_str(&format!( - "WHEN ?::INTEGER {} THEN {} ?::INTEGER ", + "WHEN {}::INTEGER THEN {}::INTEGER ", id, new_random_number )); - if i > 0 { - id_in_clause.push_str(",?::INTEGER"); + if i < last_idx { + id_in_clause.push_str(&format!(",{}::INTEGER", id.to_string())); } query_res_list.push(QueryRow::new(id, new_random_number)); } - query.push_str(&value_list); - query.push_str(&format!("END WHERE id IN ({})", id_in_clause)); - (query, query_res_list) + sql.push_str(&value_list); + sql.push_str(&format!("END WHERE id IN ({})", id_in_clause)); + print_success!(sql); + (sql, query_res_list) } #[inline] From 15bb467ad8506322279a0ac6a156d674b651c8b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 21:40:32 +0800 Subject: [PATCH 064/260] feat: db --- frameworks/Rust/hyperlane/src/db.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 8f15c2f86bc..4e71ab6bd13 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -152,7 +152,6 @@ pub async fn get_update_data(limit: Queries) -> (String, Vec) { } sql.push_str(&value_list); sql.push_str(&format!("END WHERE id IN ({})", id_in_clause)); - print_success!(sql); (sql, query_res_list) } From 895ef9789b64f2a1f1656259822ba385e65a9f14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 21:52:01 +0800 Subject: [PATCH 065/260] feat: db --- frameworks/Rust/hyperlane/src/db.rs | 32 ++++++++++++--------------- frameworks/Rust/hyperlane/src/main.rs | 4 ++-- 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 4e71ab6bd13..faa2752bce3 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -17,7 +17,7 @@ pub async fn get_db_connection() -> DbPoolConnection { #[cfg(feature = "dev")] pub async fn create_batabase() { let db_pool: DbPoolConnection = get_db_connection().await; - let _ = sqlx::query(&format!("CREATE DATABASE {};", DATABASE_NAME)) + let _ = query(&format!("CREATE DATABASE {};", DATABASE_NAME)) .execute(&db_pool) .await; } @@ -26,7 +26,7 @@ pub async fn create_batabase() { #[cfg(feature = "dev")] pub async fn create_table() { let db_pool: DbPoolConnection = get_db_connection().await; - let _ = sqlx::query(&format!( + let _ = query(&format!( "CREATE TABLE IF NOT EXISTS {} ( id SERIAL PRIMARY KEY, randomNumber INT NOT NULL );", @@ -34,7 +34,7 @@ pub async fn create_table() { )) .execute(&db_pool) .await; - let _ = sqlx::query(&format!( + let _ = query(&format!( "CREATE TABLE IF NOT EXISTS {} ( id SERIAL PRIMARY KEY, message VARCHAR NOT NULL );", @@ -45,10 +45,9 @@ pub async fn create_table() { } #[inline] -#[cfg(feature = "dev")] pub async fn insert_records() { let db_pool: DbPoolConnection = get_db_connection().await; - let row: PgRow = sqlx::query(&format!("SELECT COUNT(*) FROM {}", TABLE_NAME_WORLD)) + let row: PgRow = query(&format!("SELECT COUNT(*) FROM {}", TABLE_NAME_WORLD)) .fetch_one(&db_pool) .await .unwrap(); @@ -58,29 +57,29 @@ pub async fn insert_records() { return; } let missing_count: i64 = limit - count; - let mut rng: rand::prelude::ThreadRng = rand::rng(); + let mut rng: ThreadRng = rng(); let mut values: Vec = Vec::new(); for _ in 0..missing_count { let random_number: i32 = rng.random_range(1..=RANDOM_MAX); values.push(format!("(DEFAULT, {})", random_number)); } - let query: String = format!( + let sql: String = format!( "INSERT INTO {} (id, randomNumber) VALUES {}", TABLE_NAME_WORLD, values.join(",") ); - let _ = sqlx::query(&query).execute(&db_pool).await; + let _ = query(&sql).execute(&db_pool).await; let mut values: Vec = Vec::new(); for _ in 0..missing_count { let random_number: String = rng.random_range(1..=RANDOM_MAX).to_string(); values.push(format!("(DEFAULT, {})", random_number)); } - let query: String = format!( + let sql: String = format!( "INSERT INTO {} (id, message) VALUES {}", TABLE_NAME_FORTUNE, values.join(",") ); - let _ = sqlx::query(&query).execute(&db_pool).await; + let _ = query(&sql).execute(&db_pool).await; } #[inline] @@ -91,7 +90,7 @@ pub async fn init_cache() { "SELECT id, randomNumber FROM {} LIMIT {}", TABLE_NAME_WORLD, RANDOM_MAX ); - if let Ok(rows) = sqlx::query(&sql).fetch_all(&db_pool).await { + if let Ok(rows) = query(&sql).fetch_all(&db_pool).await { for row in rows { let id: i32 = row.get(KEY_ID); let random_number: i32 = row.get(KEY_RANDOM_NUMBER); @@ -165,8 +164,8 @@ pub async fn init_db() { { create_batabase().await; create_table().await; - insert_records().await; } + insert_records().await; init_cache().await; } @@ -177,7 +176,7 @@ pub async fn random_world_row(db_pool: &DbPoolConnection) -> QueryRow { "SELECT id, randomNumber FROM {} WHERE id = {}", TABLE_NAME_WORLD, random_id ); - if let Ok(rows) = sqlx::query(&sql).fetch_one(db_pool).await { + if let Ok(rows) = query(&sql).fetch_one(db_pool).await { let random_number: i32 = rows.get(KEY_RANDOM_NUMBER); return QueryRow::new(random_id, random_number); } @@ -189,7 +188,7 @@ pub async fn update_world_rows(limit: Queries) -> Vec { let db_pool: DbPoolConnection = get_db_connection().await; let (sql, data) = get_update_data(limit).await; spawn(async move { - let _ = sqlx::query(&sql).execute(&db_pool).await; + let _ = query(&sql).execute(&db_pool).await; }); data } @@ -198,10 +197,7 @@ pub async fn update_world_rows(limit: Queries) -> Vec { pub async fn all_world_row() -> Vec { let db_pool: DbPoolConnection = get_db_connection().await; let sql: String = format!("SELECT id, message FROM {}", TABLE_NAME_FORTUNE); - let res: Vec = sqlx::query(&sql) - .fetch_all(&db_pool) - .await - .unwrap_or_default(); + let res: Vec = query(&sql).fetch_all(&db_pool).await.unwrap_or_default(); return res; } diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 077763cdbf7..a26f5634bbd 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -22,14 +22,14 @@ pub(crate) use hyperlane::{ }; pub(crate) use lazy::*; pub(crate) use r#type::*; -pub(crate) use rand::Rng; +pub(crate) use rand::{prelude::*, rng, Rng}; pub(crate) use request_middleware::*; pub(crate) use response_middleware::*; pub(crate) use route::*; pub(crate) use server::*; pub(crate) use sqlx::{ postgres::{PgPoolOptions, PgRow}, - Pool, Postgres, Row, + *, }; pub(crate) use std::{fmt, sync::Arc}; pub(crate) use utils::*; From 84409134f0c76de275c04e5e653c931de33f97f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 21:59:33 +0800 Subject: [PATCH 066/260] feat: db --- frameworks/Rust/hyperlane/src/db.rs | 8 +++++--- frameworks/Rust/hyperlane/src/main.rs | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index faa2752bce3..324593657ed 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -45,6 +45,7 @@ pub async fn create_table() { } #[inline] +#[cfg(feature = "dev")] pub async fn insert_records() { let db_pool: DbPoolConnection = get_db_connection().await; let row: PgRow = query(&format!("SELECT COUNT(*) FROM {}", TABLE_NAME_WORLD)) @@ -137,7 +138,7 @@ pub async fn get_update_data(limit: Queries) -> (String, Vec) { let mut id_in_clause: String = format!("{}::INTEGER", rows[0].id); let last_idx: usize = rows.len() - 1; for (i, row) in rows.iter().enumerate() { - let new_random_number: i32 = rand::rng().random_range(1..RANDOM_MAX); + let new_random_number: i32 = rng().random_range(1..RANDOM_MAX); let id: i32 = row.id; id_list.push(id); value_list.push_str(&format!( @@ -164,14 +165,15 @@ pub async fn init_db() { { create_batabase().await; create_table().await; + insert_records().await; } - insert_records().await; init_cache().await; } #[inline] pub async fn random_world_row(db_pool: &DbPoolConnection) -> QueryRow { - let random_id: i32 = rand::rng().random_range(1..=RANDOM_MAX); + let random_id: i32 = rng().random_range(1..=RANDOM_MAX); + print_success!(random_id); let sql: String = format!( "SELECT id, randomNumber FROM {} WHERE id = {}", TABLE_NAME_WORLD, random_id diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index a26f5634bbd..dd6eb31d442 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -22,7 +22,7 @@ pub(crate) use hyperlane::{ }; pub(crate) use lazy::*; pub(crate) use r#type::*; -pub(crate) use rand::{prelude::*, rng, Rng}; +pub(crate) use rand::{rng, Rng}; pub(crate) use request_middleware::*; pub(crate) use response_middleware::*; pub(crate) use route::*; From b349b3c7d73affa56b0aa37260453cc9cfe2c667 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 22:09:23 +0800 Subject: [PATCH 067/260] feat: db --- frameworks/Rust/hyperlane/src/db.rs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 324593657ed..56820002384 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -135,18 +135,15 @@ pub async fn get_update_data(limit: Queries) -> (String, Vec) { let mut sql: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME_WORLD); let mut id_list: Vec = Vec::with_capacity(limit as usize); let mut value_list: String = String::new(); - let mut id_in_clause: String = format!("{}::INTEGER", rows[0].id); + let mut id_in_clause: String = format!("{}", rows[0].id); let last_idx: usize = rows.len() - 1; for (i, row) in rows.iter().enumerate() { let new_random_number: i32 = rng().random_range(1..RANDOM_MAX); let id: i32 = row.id; id_list.push(id); - value_list.push_str(&format!( - "WHEN {}::INTEGER THEN {}::INTEGER ", - id, new_random_number - )); + value_list.push_str(&format!("WHEN {} THEN {} ", id, new_random_number)); if i < last_idx { - id_in_clause.push_str(&format!(",{}::INTEGER", id.to_string())); + id_in_clause.push_str(&format!(",{}", id.to_string())); } query_res_list.push(QueryRow::new(id, new_random_number)); } @@ -173,7 +170,6 @@ pub async fn init_db() { #[inline] pub async fn random_world_row(db_pool: &DbPoolConnection) -> QueryRow { let random_id: i32 = rng().random_range(1..=RANDOM_MAX); - print_success!(random_id); let sql: String = format!( "SELECT id, randomNumber FROM {} WHERE id = {}", TABLE_NAME_WORLD, random_id From b15771ba110323b4cace9fed799a91f3b06db247 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 22:18:57 +0800 Subject: [PATCH 068/260] feat: db --- frameworks/Rust/hyperlane/src/db.rs | 4 +--- frameworks/Rust/hyperlane/src/main.rs | 5 +---- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 56820002384..2ef767490c6 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -185,9 +185,7 @@ pub async fn random_world_row(db_pool: &DbPoolConnection) -> QueryRow { pub async fn update_world_rows(limit: Queries) -> Vec { let db_pool: DbPoolConnection = get_db_connection().await; let (sql, data) = get_update_data(limit).await; - spawn(async move { - let _ = query(&sql).execute(&db_pool).await; - }); + let _ = query(&sql).execute(&db_pool).await; data } diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index dd6eb31d442..d6c37aefb13 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -14,10 +14,7 @@ pub(crate) use hyperlane::{ once_cell::sync::Lazy, serde::*, serde_json::json, - tokio::{ - spawn, - sync::{RwLock, RwLockReadGuard, RwLockWriteGuard}, - }, + tokio::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard}, *, }; pub(crate) use lazy::*; From 674f5162ea999a14a5e86d302554054b33b14c4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 22:38:12 +0800 Subject: [PATCH 069/260] feat: rand --- frameworks/Rust/hyperlane/Cargo.lock | 54 +++++++------------------- frameworks/Rust/hyperlane/Cargo.toml | 2 +- frameworks/Rust/hyperlane/src/db.rs | 14 ++++--- frameworks/Rust/hyperlane/src/main.rs | 2 +- frameworks/Rust/hyperlane/src/utils.rs | 9 +++++ 5 files changed, 34 insertions(+), 47 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 6a0b9a5ebb9..39217d137bb 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -705,7 +705,7 @@ name = "hyperlane_techempower" version = "0.0.1" dependencies = [ "hyperlane", - "rand 0.9.0", + "nanorand", "serde", "sqlx", ] @@ -981,6 +981,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "nanorand" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" + [[package]] name = "num-bigint-dig" version = "0.8.4" @@ -993,7 +999,7 @@ dependencies = [ "num-integer", "num-iter", "num-traits", - "rand 0.8.5", + "rand", "smallvec", "zeroize", ] @@ -1160,19 +1166,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - -[[package]] -name = "rand" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" -dependencies = [ - "rand_chacha 0.9.0", - "rand_core 0.9.3", - "zerocopy 0.8.23", + "rand_chacha", + "rand_core", ] [[package]] @@ -1182,17 +1177,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_chacha" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" -dependencies = [ - "ppv-lite86", - "rand_core 0.9.3", + "rand_core", ] [[package]] @@ -1204,15 +1189,6 @@ dependencies = [ "getrandom 0.2.15", ] -[[package]] -name = "rand_core" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" -dependencies = [ - "getrandom 0.3.1", -] - [[package]] name = "recoverable-spawn" version = "3.4.3" @@ -1275,7 +1251,7 @@ dependencies = [ "num-traits", "pkcs1", "pkcs8", - "rand_core 0.6.4", + "rand_core", "signature", "spki", "subtle", @@ -1416,7 +1392,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest", - "rand_core 0.6.4", + "rand_core", ] [[package]] @@ -1601,7 +1577,7 @@ dependencies = [ "memchr", "once_cell", "percent-encoding", - "rand 0.8.5", + "rand", "rsa", "serde", "sha1", @@ -1639,7 +1615,7 @@ dependencies = [ "md-5", "memchr", "once_cell", - "rand 0.8.5", + "rand", "serde", "serde_json", "sha2", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 8b909a01df4..1b27e029116 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -19,7 +19,7 @@ exclude = [ [dependencies] hyperlane = "4.36.1" -rand = "0.9.0" +nanorand = "0.7.0" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 2ef767490c6..79a16a49068 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -58,10 +58,9 @@ pub async fn insert_records() { return; } let missing_count: i64 = limit - count; - let mut rng: ThreadRng = rng(); let mut values: Vec = Vec::new(); for _ in 0..missing_count { - let random_number: i32 = rng.random_range(1..=RANDOM_MAX); + let random_number: i32 = get_random_id(); values.push(format!("(DEFAULT, {})", random_number)); } let sql: String = format!( @@ -72,7 +71,7 @@ pub async fn insert_records() { let _ = query(&sql).execute(&db_pool).await; let mut values: Vec = Vec::new(); for _ in 0..missing_count { - let random_number: String = rng.random_range(1..=RANDOM_MAX).to_string(); + let random_number: i32 = get_random_id(); values.push(format!("(DEFAULT, {})", random_number)); } let sql: String = format!( @@ -138,7 +137,7 @@ pub async fn get_update_data(limit: Queries) -> (String, Vec) { let mut id_in_clause: String = format!("{}", rows[0].id); let last_idx: usize = rows.len() - 1; for (i, row) in rows.iter().enumerate() { - let new_random_number: i32 = rng().random_range(1..RANDOM_MAX); + let new_random_number: i32 = get_random_id(); let id: i32 = row.id; id_list.push(id); value_list.push_str(&format!("WHEN {} THEN {} ", id, new_random_number)); @@ -148,7 +147,10 @@ pub async fn get_update_data(limit: Queries) -> (String, Vec) { query_res_list.push(QueryRow::new(id, new_random_number)); } sql.push_str(&value_list); - sql.push_str(&format!("END WHERE id IN ({})", id_in_clause)); + sql.push_str(&format!( + "ELSE randomNumber END WHERE id IN ({})", + id_in_clause + )); (sql, query_res_list) } @@ -169,7 +171,7 @@ pub async fn init_db() { #[inline] pub async fn random_world_row(db_pool: &DbPoolConnection) -> QueryRow { - let random_id: i32 = rng().random_range(1..=RANDOM_MAX); + let random_id: i32 = get_random_id(); let sql: String = format!( "SELECT id, randomNumber FROM {} WHERE id = {}", TABLE_NAME_WORLD, random_id diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index d6c37aefb13..2ae68b0098b 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -18,8 +18,8 @@ pub(crate) use hyperlane::{ *, }; pub(crate) use lazy::*; +pub(crate) use nanorand::{Rng, WyRand}; pub(crate) use r#type::*; -pub(crate) use rand::{rng, Rng}; pub(crate) use request_middleware::*; pub(crate) use response_middleware::*; pub(crate) use route::*; diff --git a/frameworks/Rust/hyperlane/src/utils.rs b/frameworks/Rust/hyperlane/src/utils.rs index 8c9c080f9f2..577585c50b8 100644 --- a/frameworks/Rust/hyperlane/src/utils.rs +++ b/frameworks/Rust/hyperlane/src/utils.rs @@ -1,3 +1,5 @@ +use crate::*; + #[inline] pub fn escape_html(input: &str) -> String { let mut result: String = String::new(); @@ -13,3 +15,10 @@ pub fn escape_html(input: &str) -> String { } result } + +#[inline] +pub fn get_random_id() -> i32 { + let mut rand: WyRand = WyRand::new(); + let random_id: i32 = (rand.generate::() % 10_000 + 1) as i32; + random_id +} From 394c2ade95431dcd2ff24e4e55ba6873ddf25ddf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 23:16:03 +0800 Subject: [PATCH 070/260] feat: rand --- frameworks/Rust/hyperlane/src/db.rs | 23 ++++++++++++++--------- frameworks/Rust/hyperlane/src/type.rs | 10 +++++----- frameworks/Rust/hyperlane/src/utils.rs | 4 ++-- 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 79a16a49068..53e11d9ebcd 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -130,21 +130,21 @@ pub async fn connection_db() -> DbPoolConnection { pub async fn get_update_data(limit: Queries) -> (String, Vec) { let db_pool: DbPoolConnection = get_db_connection().await; let mut query_res_list: Vec = Vec::with_capacity(limit as usize); - let rows: Vec = get_some_row_id(limit, &db_pool).await; + let rows: Vec = get_some_row_id(limit as Queries, &db_pool).await; let mut sql: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME_WORLD); let mut id_list: Vec = Vec::with_capacity(limit as usize); let mut value_list: String = String::new(); let mut id_in_clause: String = format!("{}", rows[0].id); let last_idx: usize = rows.len() - 1; for (i, row) in rows.iter().enumerate() { - let new_random_number: i32 = get_random_id(); + let new_random_number: Queries = get_random_id(); let id: i32 = row.id; id_list.push(id); value_list.push_str(&format!("WHEN {} THEN {} ", id, new_random_number)); if i < last_idx { id_in_clause.push_str(&format!(",{}", id.to_string())); } - query_res_list.push(QueryRow::new(id, new_random_number)); + query_res_list.push(QueryRow::new(id, new_random_number as i32)); } sql.push_str(&value_list); sql.push_str(&format!( @@ -171,16 +171,21 @@ pub async fn init_db() { #[inline] pub async fn random_world_row(db_pool: &DbPoolConnection) -> QueryRow { - let random_id: i32 = get_random_id(); + let random_id: Queries = get_random_id(); + query_world_row(db_pool, random_id).await +} + +#[inline] +pub async fn query_world_row(db_pool: &DbPoolConnection, id: Queries) -> QueryRow { let sql: String = format!( "SELECT id, randomNumber FROM {} WHERE id = {}", - TABLE_NAME_WORLD, random_id + TABLE_NAME_WORLD, id ); if let Ok(rows) = query(&sql).fetch_one(db_pool).await { let random_number: i32 = rows.get(KEY_RANDOM_NUMBER); - return QueryRow::new(random_id, random_number); + return QueryRow::new(id as i32, random_number); } - return QueryRow::new(random_id, 1); + return QueryRow::new(id as i32, 1); } #[inline] @@ -202,8 +207,8 @@ pub async fn all_world_row() -> Vec { #[inline] pub async fn get_some_row_id(limit: Queries, db_pool: &DbPoolConnection) -> Vec { let mut res: Vec = Vec::with_capacity(limit as usize); - for _ in 0..limit { - let tem: QueryRow = random_world_row(db_pool).await; + for id in 0..limit { + let tem: QueryRow = query_world_row(db_pool, id).await; res.push(tem); } res diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index dcc2d756c4e..3fb320ba049 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -6,13 +6,13 @@ pub type Queries = i32; #[allow(bad_style)] #[derive(Serialize, Default, Clone)] pub struct QueryRow { - pub id: i32, - pub randomNumber: i32, + pub id: Queries, + pub randomNumber: Queries, } impl QueryRow { #[inline] - pub fn new(id: i32, random_number: i32) -> Self { + pub fn new(id: Queries, random_number: Queries) -> Self { Self { id, randomNumber: random_number, @@ -22,13 +22,13 @@ impl QueryRow { #[derive(Serialize)] pub struct Fortunes { - pub id: i32, + pub id: Queries, pub message: String, } impl Fortunes { #[inline] - pub fn new(id: i32, message: String) -> Self { + pub fn new(id: Queries, message: String) -> Self { Self { id, message } } } diff --git a/frameworks/Rust/hyperlane/src/utils.rs b/frameworks/Rust/hyperlane/src/utils.rs index 577585c50b8..c58d69beea1 100644 --- a/frameworks/Rust/hyperlane/src/utils.rs +++ b/frameworks/Rust/hyperlane/src/utils.rs @@ -17,8 +17,8 @@ pub fn escape_html(input: &str) -> String { } #[inline] -pub fn get_random_id() -> i32 { +pub fn get_random_id() -> Queries { let mut rand: WyRand = WyRand::new(); - let random_id: i32 = (rand.generate::() % 10_000 + 1) as i32; + let random_id: Queries = rand.generate::() % (RANDOM_MAX as Queries + 1); random_id } From 84336e6136cf0c6be793f1dd097a808645efe73e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 23:21:16 +0800 Subject: [PATCH 071/260] feat: rand --- frameworks/Rust/hyperlane/src/db.rs | 3 ++- frameworks/Rust/hyperlane/src/utils.rs | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 53e11d9ebcd..863520bd155 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -207,7 +207,8 @@ pub async fn all_world_row() -> Vec { #[inline] pub async fn get_some_row_id(limit: Queries, db_pool: &DbPoolConnection) -> Vec { let mut res: Vec = Vec::with_capacity(limit as usize); - for id in 0..limit { + let id_list: Vec = get_random_id_list(limit); + for id in id_list { let tem: QueryRow = query_world_row(db_pool, id).await; res.push(tem); } diff --git a/frameworks/Rust/hyperlane/src/utils.rs b/frameworks/Rust/hyperlane/src/utils.rs index c58d69beea1..f3f28b5f73d 100644 --- a/frameworks/Rust/hyperlane/src/utils.rs +++ b/frameworks/Rust/hyperlane/src/utils.rs @@ -22,3 +22,16 @@ pub fn get_random_id() -> Queries { let random_id: Queries = rand.generate::() % (RANDOM_MAX as Queries + 1); random_id } + +#[inline] +pub fn get_random_id_list(limit: Queries) -> Vec { + let mut id_list: Vec = (1..=limit).collect(); + let mut rng: WyRand = WyRand::new(); + let len: usize = id_list.len(); + for i in (1..len).rev() { + let j = rng.generate_range(0..=i as u32) as usize; + id_list.swap(i, j); + } + id_list.truncate(limit as usize); + id_list +} From 287235214ba9156738281360f6a8bc6448c829e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 23:30:02 +0800 Subject: [PATCH 072/260] feat: rand --- frameworks/Rust/hyperlane/src/utils.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/utils.rs b/frameworks/Rust/hyperlane/src/utils.rs index f3f28b5f73d..a6f1515dc38 100644 --- a/frameworks/Rust/hyperlane/src/utils.rs +++ b/frameworks/Rust/hyperlane/src/utils.rs @@ -19,17 +19,17 @@ pub fn escape_html(input: &str) -> String { #[inline] pub fn get_random_id() -> Queries { let mut rand: WyRand = WyRand::new(); - let random_id: Queries = rand.generate::() % (RANDOM_MAX as Queries + 1); - random_id + let random_id: u32 = rand.generate::() % RANDOM_MAX as u32 + 1; + random_id as Queries } #[inline] pub fn get_random_id_list(limit: Queries) -> Vec { let mut id_list: Vec = (1..=limit).collect(); - let mut rng: WyRand = WyRand::new(); + let mut rand: WyRand = WyRand::new(); let len: usize = id_list.len(); for i in (1..len).rev() { - let j = rng.generate_range(0..=i as u32) as usize; + let j: usize = (rand.generate::() % RANDOM_MAX as u32 + 1) as usize; id_list.swap(i, j); } id_list.truncate(limit as usize); From 2f0398b98d877df0b15b09e130c44edf57227d1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 23:38:44 +0800 Subject: [PATCH 073/260] feat: rand --- frameworks/Rust/hyperlane/src/server.rs | 6 +++--- frameworks/Rust/hyperlane/src/utils.rs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 91dc1aeea08..0268c3bbbd5 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -4,11 +4,11 @@ use crate::*; pub async fn run_server() { let mut server: Server = Server::new(); server.host("0.0.0.0").await; - server.port(8080).await; + server.port(8088).await; server.log_dir("./logs").await; server.log_interval_millis(1_000_000_000).await; - server.disable_inner_log().await; - server.disable_inner_print().await; + // server.disable_inner_log().await; + // server.disable_inner_print().await; server.route("/json", json).await; server.route("/plaintext", plaintext).await; server.route("/db", db).await; diff --git a/frameworks/Rust/hyperlane/src/utils.rs b/frameworks/Rust/hyperlane/src/utils.rs index a6f1515dc38..40903d562a7 100644 --- a/frameworks/Rust/hyperlane/src/utils.rs +++ b/frameworks/Rust/hyperlane/src/utils.rs @@ -29,7 +29,7 @@ pub fn get_random_id_list(limit: Queries) -> Vec { let mut rand: WyRand = WyRand::new(); let len: usize = id_list.len(); for i in (1..len).rev() { - let j: usize = (rand.generate::() % RANDOM_MAX as u32 + 1) as usize; + let j: usize = (rand.generate::() as usize) % (i + 1); id_list.swap(i, j); } id_list.truncate(limit as usize); From 3f0cc7e299555f9d96f7d4d8168aa7477b0da12c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 23:39:52 +0800 Subject: [PATCH 074/260] feat: port --- frameworks/Rust/hyperlane/src/server.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 0268c3bbbd5..91dc1aeea08 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -4,11 +4,11 @@ use crate::*; pub async fn run_server() { let mut server: Server = Server::new(); server.host("0.0.0.0").await; - server.port(8088).await; + server.port(8080).await; server.log_dir("./logs").await; server.log_interval_millis(1_000_000_000).await; - // server.disable_inner_log().await; - // server.disable_inner_print().await; + server.disable_inner_log().await; + server.disable_inner_print().await; server.route("/json", json).await; server.route("/plaintext", plaintext).await; server.route("/db", db).await; From 4c9c41e29de15913c09a357569494f94a5112c43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 23:46:34 +0800 Subject: [PATCH 075/260] feat: port --- frameworks/Rust/hyperlane/src/db.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 863520bd155..a5c417f6702 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -115,7 +115,7 @@ pub async fn connection_db() -> DbPoolConnection { DATABASE_NAME ), }; - let pool_size: u32 = (get_thread_count() << 2).min(100) as u32; + let pool_size: u32 = (get_thread_count() >> 2).max(1).min(100) as u32; let pool: DbPoolConnection = PgPoolOptions::new() .min_connections(pool_size) .max_lifetime(None) From ae191b8a5c7ae25fab48dba5cb409bd0073ff340 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 16 Mar 2025 23:49:29 +0800 Subject: [PATCH 076/260] feat: port --- frameworks/Rust/hyperlane/src/db.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index a5c417f6702..e64e0a9be8c 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -115,9 +115,9 @@ pub async fn connection_db() -> DbPoolConnection { DATABASE_NAME ), }; - let pool_size: u32 = (get_thread_count() >> 2).max(1).min(100) as u32; + let pool_size: u32 = (get_thread_count() >> 2).max(10).min(100) as u32; let pool: DbPoolConnection = PgPoolOptions::new() - .min_connections(pool_size) + .max_connections(pool_size) .max_lifetime(None) .idle_timeout(None) .connect(db_url) From 0dcafc4e43fba4915a9a479f5577435e3d9449cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 17 Mar 2025 07:46:00 +0800 Subject: [PATCH 077/260] feat: db --- frameworks/Rust/hyperlane/src/db.rs | 12 ++++++------ frameworks/Rust/hyperlane/src/lazy.rs | 1 + frameworks/Rust/hyperlane/src/utils.rs | 17 ++--------------- 3 files changed, 9 insertions(+), 21 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index e64e0a9be8c..10f1187ba5c 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -60,7 +60,7 @@ pub async fn insert_records() { let missing_count: i64 = limit - count; let mut values: Vec = Vec::new(); for _ in 0..missing_count { - let random_number: i32 = get_random_id(); + let random_number: i32 = get_random_id().await; values.push(format!("(DEFAULT, {})", random_number)); } let sql: String = format!( @@ -71,7 +71,7 @@ pub async fn insert_records() { let _ = query(&sql).execute(&db_pool).await; let mut values: Vec = Vec::new(); for _ in 0..missing_count { - let random_number: i32 = get_random_id(); + let random_number: i32 = get_random_id().await; values.push(format!("(DEFAULT, {})", random_number)); } let sql: String = format!( @@ -137,7 +137,7 @@ pub async fn get_update_data(limit: Queries) -> (String, Vec) { let mut id_in_clause: String = format!("{}", rows[0].id); let last_idx: usize = rows.len() - 1; for (i, row) in rows.iter().enumerate() { - let new_random_number: Queries = get_random_id(); + let new_random_number: Queries = get_random_id().await; let id: i32 = row.id; id_list.push(id); value_list.push_str(&format!("WHEN {} THEN {} ", id, new_random_number)); @@ -171,7 +171,7 @@ pub async fn init_db() { #[inline] pub async fn random_world_row(db_pool: &DbPoolConnection) -> QueryRow { - let random_id: Queries = get_random_id(); + let random_id: Queries = get_random_id().await; query_world_row(db_pool, random_id).await } @@ -207,8 +207,8 @@ pub async fn all_world_row() -> Vec { #[inline] pub async fn get_some_row_id(limit: Queries, db_pool: &DbPoolConnection) -> Vec { let mut res: Vec = Vec::with_capacity(limit as usize); - let id_list: Vec = get_random_id_list(limit); - for id in id_list { + for _ in 0..limit { + let id: i32 = get_random_id().await; let tem: QueryRow = query_world_row(db_pool, id).await; res.push(tem); } diff --git a/frameworks/Rust/hyperlane/src/lazy.rs b/frameworks/Rust/hyperlane/src/lazy.rs index 6826b018008..b80ef48bfec 100644 --- a/frameworks/Rust/hyperlane/src/lazy.rs +++ b/frameworks/Rust/hyperlane/src/lazy.rs @@ -3,3 +3,4 @@ use crate::*; pub static DB: Lazy>> = Lazy::new(|| Arc::new(RwLock::new(None))); pub static CACHE: Lazy>> = Lazy::new(|| arc_rwlock(vec![])); +pub static RAND: Lazy> = Lazy::new(|| arc_rwlock(WyRand::new())); diff --git a/frameworks/Rust/hyperlane/src/utils.rs b/frameworks/Rust/hyperlane/src/utils.rs index 40903d562a7..4d0692240ae 100644 --- a/frameworks/Rust/hyperlane/src/utils.rs +++ b/frameworks/Rust/hyperlane/src/utils.rs @@ -17,21 +17,8 @@ pub fn escape_html(input: &str) -> String { } #[inline] -pub fn get_random_id() -> Queries { - let mut rand: WyRand = WyRand::new(); +pub async fn get_random_id() -> Queries { + let mut rand: RwLockWriteGuard<'_, WyRand> = RAND.write().await; let random_id: u32 = rand.generate::() % RANDOM_MAX as u32 + 1; random_id as Queries } - -#[inline] -pub fn get_random_id_list(limit: Queries) -> Vec { - let mut id_list: Vec = (1..=limit).collect(); - let mut rand: WyRand = WyRand::new(); - let len: usize = id_list.len(); - for i in (1..len).rev() { - let j: usize = (rand.generate::() as usize) % (i + 1); - id_list.swap(i, j); - } - id_list.truncate(limit as usize); - id_list -} From cc5b089e16ab5c8860ec418530e5ae98775bcdb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 17 Mar 2025 08:04:50 +0800 Subject: [PATCH 078/260] feat: db --- frameworks/Rust/hyperlane/Cargo.lock | 54 ++++++++++++++++------- frameworks/Rust/hyperlane/Cargo.toml | 2 +- frameworks/Rust/hyperlane/src/constant.rs | 1 + frameworks/Rust/hyperlane/src/db.rs | 24 +++++++--- frameworks/Rust/hyperlane/src/lazy.rs | 1 - frameworks/Rust/hyperlane/src/main.rs | 2 +- frameworks/Rust/hyperlane/src/utils.rs | 8 ++-- 7 files changed, 64 insertions(+), 28 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 39217d137bb..6a0b9a5ebb9 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -705,7 +705,7 @@ name = "hyperlane_techempower" version = "0.0.1" dependencies = [ "hyperlane", - "nanorand", + "rand 0.9.0", "serde", "sqlx", ] @@ -981,12 +981,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "nanorand" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" - [[package]] name = "num-bigint-dig" version = "0.8.4" @@ -999,7 +993,7 @@ dependencies = [ "num-integer", "num-iter", "num-traits", - "rand", + "rand 0.8.5", "smallvec", "zeroize", ] @@ -1166,8 +1160,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", + "zerocopy 0.8.23", ] [[package]] @@ -1177,7 +1182,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", ] [[package]] @@ -1189,6 +1204,15 @@ dependencies = [ "getrandom 0.2.15", ] +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.1", +] + [[package]] name = "recoverable-spawn" version = "3.4.3" @@ -1251,7 +1275,7 @@ dependencies = [ "num-traits", "pkcs1", "pkcs8", - "rand_core", + "rand_core 0.6.4", "signature", "spki", "subtle", @@ -1392,7 +1416,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest", - "rand_core", + "rand_core 0.6.4", ] [[package]] @@ -1577,7 +1601,7 @@ dependencies = [ "memchr", "once_cell", "percent-encoding", - "rand", + "rand 0.8.5", "rsa", "serde", "sha1", @@ -1615,7 +1639,7 @@ dependencies = [ "md-5", "memchr", "once_cell", - "rand", + "rand 0.8.5", "serde", "serde_json", "sha2", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 1b27e029116..8b909a01df4 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -19,7 +19,7 @@ exclude = [ [dependencies] hyperlane = "4.36.1" -nanorand = "0.7.0" +rand = "0.9.0" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } diff --git a/frameworks/Rust/hyperlane/src/constant.rs b/frameworks/Rust/hyperlane/src/constant.rs index 54ee847daf0..e22ac57c0b0 100644 --- a/frameworks/Rust/hyperlane/src/constant.rs +++ b/frameworks/Rust/hyperlane/src/constant.rs @@ -9,6 +9,7 @@ pub static TABLE_NAME_WORLD: &str = "World"; pub static TABLE_NAME_FORTUNE: &str = "Fortune"; pub static ROW_LIMIT: i32 = 500; pub static RANDOM_MAX: i32 = 10_000; +pub static RANDOM_MAX_ADD_ONE: u32 = 10_001; pub static KEY_ID: &str = "id"; pub static KEY_RANDOM_NUMBER: &str = "randomnumber"; pub static KEY_MESSAGE: &str = "message"; diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 10f1187ba5c..b31ce86c013 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -60,7 +60,7 @@ pub async fn insert_records() { let missing_count: i64 = limit - count; let mut values: Vec = Vec::new(); for _ in 0..missing_count { - let random_number: i32 = get_random_id().await; + let random_number: i32 = get_random_id(); values.push(format!("(DEFAULT, {})", random_number)); } let sql: String = format!( @@ -71,7 +71,7 @@ pub async fn insert_records() { let _ = query(&sql).execute(&db_pool).await; let mut values: Vec = Vec::new(); for _ in 0..missing_count { - let random_number: i32 = get_random_id().await; + let random_number: i32 = get_random_id(); values.push(format!("(DEFAULT, {})", random_number)); } let sql: String = format!( @@ -116,9 +116,19 @@ pub async fn connection_db() -> DbPoolConnection { ), }; let pool_size: u32 = (get_thread_count() >> 2).max(10).min(100) as u32; + let max_pool_size: u32 = option_env!("POSTGRES_MAX_POOL_SIZE") + .unwrap_or(&pool_size.to_string()) + .parse::() + .unwrap_or(pool_size); + let min_pool_size: u32 = option_env!("POSTGRES_MIN_POOL_SIZE") + .unwrap_or(&pool_size.to_string()) + .parse::() + .unwrap_or(pool_size); let pool: DbPoolConnection = PgPoolOptions::new() - .max_connections(pool_size) + .max_connections(max_pool_size) + .min_connections(min_pool_size) .max_lifetime(None) + .test_before_acquire(false) .idle_timeout(None) .connect(db_url) .await @@ -137,7 +147,7 @@ pub async fn get_update_data(limit: Queries) -> (String, Vec) { let mut id_in_clause: String = format!("{}", rows[0].id); let last_idx: usize = rows.len() - 1; for (i, row) in rows.iter().enumerate() { - let new_random_number: Queries = get_random_id().await; + let new_random_number: Queries = get_random_id(); let id: i32 = row.id; id_list.push(id); value_list.push_str(&format!("WHEN {} THEN {} ", id, new_random_number)); @@ -171,14 +181,14 @@ pub async fn init_db() { #[inline] pub async fn random_world_row(db_pool: &DbPoolConnection) -> QueryRow { - let random_id: Queries = get_random_id().await; + let random_id: Queries = get_random_id(); query_world_row(db_pool, random_id).await } #[inline] pub async fn query_world_row(db_pool: &DbPoolConnection, id: Queries) -> QueryRow { let sql: String = format!( - "SELECT id, randomNumber FROM {} WHERE id = {}", + "SELECT id, randomNumber FROM {} WHERE id = {} LIMIT 1", TABLE_NAME_WORLD, id ); if let Ok(rows) = query(&sql).fetch_one(db_pool).await { @@ -208,7 +218,7 @@ pub async fn all_world_row() -> Vec { pub async fn get_some_row_id(limit: Queries, db_pool: &DbPoolConnection) -> Vec { let mut res: Vec = Vec::with_capacity(limit as usize); for _ in 0..limit { - let id: i32 = get_random_id().await; + let id: i32 = get_random_id(); let tem: QueryRow = query_world_row(db_pool, id).await; res.push(tem); } diff --git a/frameworks/Rust/hyperlane/src/lazy.rs b/frameworks/Rust/hyperlane/src/lazy.rs index b80ef48bfec..6826b018008 100644 --- a/frameworks/Rust/hyperlane/src/lazy.rs +++ b/frameworks/Rust/hyperlane/src/lazy.rs @@ -3,4 +3,3 @@ use crate::*; pub static DB: Lazy>> = Lazy::new(|| Arc::new(RwLock::new(None))); pub static CACHE: Lazy>> = Lazy::new(|| arc_rwlock(vec![])); -pub static RAND: Lazy> = Lazy::new(|| arc_rwlock(WyRand::new())); diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 2ae68b0098b..ef4a7838faa 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -18,8 +18,8 @@ pub(crate) use hyperlane::{ *, }; pub(crate) use lazy::*; -pub(crate) use nanorand::{Rng, WyRand}; pub(crate) use r#type::*; +pub(crate) use rand::{rngs::SmallRng, Rng, SeedableRng}; pub(crate) use request_middleware::*; pub(crate) use response_middleware::*; pub(crate) use route::*; diff --git a/frameworks/Rust/hyperlane/src/utils.rs b/frameworks/Rust/hyperlane/src/utils.rs index 4d0692240ae..9552fe79074 100644 --- a/frameworks/Rust/hyperlane/src/utils.rs +++ b/frameworks/Rust/hyperlane/src/utils.rs @@ -1,3 +1,5 @@ +use rand::rng; + use crate::*; #[inline] @@ -17,8 +19,8 @@ pub fn escape_html(input: &str) -> String { } #[inline] -pub async fn get_random_id() -> Queries { - let mut rand: RwLockWriteGuard<'_, WyRand> = RAND.write().await; - let random_id: u32 = rand.generate::() % RANDOM_MAX as u32 + 1; +pub fn get_random_id() -> Queries { + let mut rng: SmallRng = SmallRng::from_rng(&mut rng()); + let random_id: u32 = rng.random_range(1..RANDOM_MAX_ADD_ONE); random_id as Queries } From 62341588d8830d8edb3a0a6de943cdcdecc384d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 17 Mar 2025 08:23:39 +0800 Subject: [PATCH 079/260] feat: db --- frameworks/Rust/hyperlane/src/db.rs | 53 +++++++++++++++++------------ 1 file changed, 32 insertions(+), 21 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index b31ce86c013..d1d51e8ee11 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -137,31 +137,35 @@ pub async fn connection_db() -> DbPoolConnection { } #[inline] -pub async fn get_update_data(limit: Queries) -> (String, Vec) { +pub async fn get_update_data( + limit: Queries, +) -> (String, Vec, Vec, Vec) { let db_pool: DbPoolConnection = get_db_connection().await; let mut query_res_list: Vec = Vec::with_capacity(limit as usize); - let rows: Vec = get_some_row_id(limit as Queries, &db_pool).await; - let mut sql: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME_WORLD); - let mut id_list: Vec = Vec::with_capacity(limit as usize); - let mut value_list: String = String::new(); - let mut id_in_clause: String = format!("{}", rows[0].id); - let last_idx: usize = rows.len() - 1; + let rows: Vec = get_some_row_id(limit, &db_pool).await; + let mut sql = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME_WORLD); + let mut id_list: Vec = Vec::with_capacity(rows.len()); + let mut value_list: Vec = Vec::with_capacity(rows.len() * 2); + let mut random_numbers: Vec = Vec::with_capacity(rows.len()); for (i, row) in rows.iter().enumerate() { - let new_random_number: Queries = get_random_id(); - let id: i32 = row.id; - id_list.push(id); - value_list.push_str(&format!("WHEN {} THEN {} ", id, new_random_number)); - if i < last_idx { - id_in_clause.push_str(&format!(",{}", id.to_string())); - } - query_res_list.push(QueryRow::new(id, new_random_number as i32)); + let new_random_number: i32 = get_random_id() as i32; + id_list.push(row.id); + random_numbers.push(new_random_number); + value_list.push(format!("WHEN ${} THEN ${}", i * 2 + 1, i * 2 + 2)); + query_res_list.push(QueryRow::new(row.id, new_random_number)); } - sql.push_str(&value_list); + sql.push_str(&value_list.join(" ")); + let id_params: String = id_list + .iter() + .enumerate() + .map(|(i, _)| format!("${}", (rows.len() * 2 + 1) + i)) + .collect::>() + .join(","); sql.push_str(&format!( - "ELSE randomNumber END WHERE id IN ({})", - id_in_clause + " ELSE randomNumber END WHERE id IN ({})", + id_params )); - (sql, query_res_list) + (sql, query_res_list, id_list, random_numbers) } #[inline] @@ -201,8 +205,15 @@ pub async fn query_world_row(db_pool: &DbPoolConnection, id: Queries) -> QueryRo #[inline] pub async fn update_world_rows(limit: Queries) -> Vec { let db_pool: DbPoolConnection = get_db_connection().await; - let (sql, data) = get_update_data(limit).await; - let _ = query(&sql).execute(&db_pool).await; + let (sql, data, id_list, random_numbers) = get_update_data(limit).await; + let mut query_builder: query::Query<'_, Postgres, postgres::PgArguments> = query(&sql); + for (id, random_number) in id_list.iter().zip(random_numbers.iter()) { + query_builder = query_builder.bind(id).bind(random_number); + } + for id in &id_list { + query_builder = query_builder.bind(id); + } + let _ = query_builder.execute(&db_pool).await; data } From 8cf74b0e9485fb66ce460d0af99ff84399fafb80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 17 Mar 2025 12:04:44 +0800 Subject: [PATCH 080/260] feat: lock --- frameworks/Rust/hyperlane/.gitignore | 3 + frameworks/Rust/hyperlane/Cargo.lock | 2332 -------------------------- 2 files changed, 3 insertions(+), 2332 deletions(-) create mode 100644 frameworks/Rust/hyperlane/.gitignore delete mode 100644 frameworks/Rust/hyperlane/Cargo.lock diff --git a/frameworks/Rust/hyperlane/.gitignore b/frameworks/Rust/hyperlane/.gitignore new file mode 100644 index 00000000000..fbb0636b360 --- /dev/null +++ b/frameworks/Rust/hyperlane/.gitignore @@ -0,0 +1,3 @@ +/target +/logs +# Cargo.lock \ No newline at end of file diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock deleted file mode 100644 index 6a0b9a5ebb9..00000000000 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ /dev/null @@ -1,2332 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "addr2line" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" - -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy 0.7.35", -] - -[[package]] -name = "alloc-no-stdlib" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" - -[[package]] -name = "alloc-stdlib" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" -dependencies = [ - "alloc-no-stdlib", -] - -[[package]] -name = "allocator-api2" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" - -[[package]] -name = "async-func" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8882ceb09bc57f9b7a52d48cffab866310aeeb6a5aa1c9420640e7689660c9ee" -dependencies = [ - "tokio", -] - -[[package]] -name = "atoi" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" -dependencies = [ - "num-traits", -] - -[[package]] -name = "autocfg" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" - -[[package]] -name = "backtrace" -version = "0.3.74" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" -dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", - "windows-targets 0.52.6", -] - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - -[[package]] -name = "base64ct" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" - -[[package]] -name = "bitflags" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" -dependencies = [ - "serde", -] - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "brotli" -version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", -] - -[[package]] -name = "brotli-decompressor" -version = "4.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", -] - -[[package]] -name = "bumpalo" -version = "3.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "clonelicious" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c61986b9f0347d401ef41468e7aadba2ab6dfc2547df1862f2563250fbfa8d3" - -[[package]] -name = "color-output" -version = "6.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c85488dab2761e7883ac16c88819eefb468973b57591ef3c2baa743c35004ff" -dependencies = [ - "hyperlane-time", -] - -[[package]] -name = "concurrent-queue" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - -[[package]] -name = "cpufeatures" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" -dependencies = [ - "libc", -] - -[[package]] -name = "crc" -version = "3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" -dependencies = [ - "crc-catalog", -] - -[[package]] -name = "crc-catalog" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" - -[[package]] -name = "crc32fast" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-queue" -version = "0.3.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "der" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" -dependencies = [ - "const-oid", - "pem-rfc7468", - "zeroize", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "const-oid", - "crypto-common", - "subtle", -] - -[[package]] -name = "displaydoc" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "dotenvy" -version = "0.15.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" - -[[package]] -name = "either" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" -dependencies = [ - "serde", -] - -[[package]] -name = "equivalent" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" - -[[package]] -name = "errno" -version = "0.3.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - -[[package]] -name = "etcetera" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" -dependencies = [ - "cfg-if", - "home", - "windows-sys 0.48.0", -] - -[[package]] -name = "event-listener" -version = "5.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "fastrand" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" - -[[package]] -name = "file-operation" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaba2fa080e689c4ec9a0666c5b7eb074182fdba13a34e97b19b56ac2a855556" -dependencies = [ - "tokio", -] - -[[package]] -name = "flate2" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11faaf5a5236997af9848be0bef4db95824b1d534ebc64d0f0c6cf3e67bd38dc" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - -[[package]] -name = "float-cmp" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8" -dependencies = [ - "num-traits", -] - -[[package]] -name = "flume" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" -dependencies = [ - "futures-core", - "futures-sink", - "spin", -] - -[[package]] -name = "foldhash" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "futures" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" - -[[package]] -name = "futures-executor" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-intrusive" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" -dependencies = [ - "futures-core", - "lock_api", - "parking_lot", -] - -[[package]] -name = "futures-io" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" - -[[package]] -name = "futures-macro" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "futures-sink" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" - -[[package]] -name = "futures-task" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" - -[[package]] -name = "futures-util" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "wasm-bindgen", -] - -[[package]] -name = "getrandom" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" -dependencies = [ - "cfg-if", - "libc", - "wasi 0.13.3+wasi-0.2.2", - "windows-targets 0.52.6", -] - -[[package]] -name = "gimli" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" - -[[package]] -name = "halfbrown" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8588661a8607108a5ca69cab034063441a0413a0b041c13618a7dd348021ef6f" -dependencies = [ - "hashbrown 0.14.5", - "serde", -] - -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", - "allocator-api2", -] - -[[package]] -name = "hashbrown" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" -dependencies = [ - "allocator-api2", - "equivalent", - "foldhash", -] - -[[package]] -name = "hashlink" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" -dependencies = [ - "hashbrown 0.15.2", -] - -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hkdf" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" -dependencies = [ - "hmac", -] - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest", -] - -[[package]] -name = "home" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "http-compress" -version = "2.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98b1cde57d40ec354eb0d1f7fea31e5d621e2bfbc9ec087f6d06944b5ac1ca3a" -dependencies = [ - "brotli", - "flate2", - "http-constant", -] - -[[package]] -name = "http-constant" -version = "1.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82b282f8cb8ff76d9ad521f4e159143bfe2639a03e7d91871f740b716f28c608" - -[[package]] -name = "http-type" -version = "3.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ac0f534e18616d3a80a032fed278879bfd663d071282377ce66c55ebd7eef09" -dependencies = [ - "hex", - "http-compress", - "http-constant", - "lombok-macros", - "serde", - "serde-xml-rs", - "serde_json", - "serde_urlencoded", - "tokio", - "url", -] - -[[package]] -name = "hyperlane" -version = "4.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678154dd86505451acd8d9a3faea8edbc20e61f1e2024d8b26d40d8b59b886eb" -dependencies = [ - "async-func", - "clonelicious", - "color-output", - "file-operation", - "futures", - "http-compress", - "http-type", - "hyperlane-log", - "hyperlane-time", - "lombok-macros", - "once_cell", - "recoverable-spawn", - "recoverable-thread-pool", - "serde", - "serde_json", - "server-manager", - "simd-json", - "std-macro-extensions", - "tokio", -] - -[[package]] -name = "hyperlane-log" -version = "1.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e4ac75392e2efe8ca225dd9dbb3a027b861ea20c483a7763ee736edabe10cca" -dependencies = [ - "file-operation", - "hyperlane-time", - "lombok-macros", - "once_cell", - "recoverable-spawn", -] - -[[package]] -name = "hyperlane-time" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a65d56c50277b8523f6a77f5643a2cc17d58565a411fa1893b761ebaef785f4e" - -[[package]] -name = "hyperlane_techempower" -version = "0.0.1" -dependencies = [ - "hyperlane", - "rand 0.9.0", - "serde", - "sqlx", -] - -[[package]] -name = "icu_collections" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" -dependencies = [ - "displaydoc", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_locid" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" -dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", -] - -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" - -[[package]] -name = "icu_normalizer" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "utf16_iter", - "utf8_iter", - "write16", - "zerovec", -] - -[[package]] -name = "icu_normalizer_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" - -[[package]] -name = "icu_properties" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_locid_transform", - "icu_properties_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_properties_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" - -[[package]] -name = "icu_provider" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_provider_macros", - "stable_deref_trait", - "tinystr", - "writeable", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "idna" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" -dependencies = [ - "idna_adapter", - "smallvec", - "utf8_iter", -] - -[[package]] -name = "idna_adapter" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" -dependencies = [ - "icu_normalizer", - "icu_properties", -] - -[[package]] -name = "indexmap" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" -dependencies = [ - "equivalent", - "hashbrown 0.15.2", -] - -[[package]] -name = "itoa" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" - -[[package]] -name = "js-sys" -version = "0.3.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" -dependencies = [ - "once_cell", - "wasm-bindgen", -] - -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -dependencies = [ - "spin", -] - -[[package]] -name = "libc" -version = "0.2.171" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" - -[[package]] -name = "libm" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" - -[[package]] -name = "libsqlite3-sys" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" -dependencies = [ - "pkg-config", - "vcpkg", -] - -[[package]] -name = "linux-raw-sys" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" - -[[package]] -name = "litemap" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" - -[[package]] -name = "lock_api" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" - -[[package]] -name = "lombok-macros" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebe4fc0110b8bdb29b2423a2be59fa7b9b3e0e1b225553514895564420887bc5" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "md-5" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" -dependencies = [ - "cfg-if", - "digest", -] - -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "miniz_oxide" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" -dependencies = [ - "adler2", -] - -[[package]] -name = "mio" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" -dependencies = [ - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", -] - -[[package]] -name = "num-bigint-dig" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" -dependencies = [ - "byteorder", - "lazy_static", - "libm", - "num-integer", - "num-iter", - "num-traits", - "rand 0.8.5", - "smallvec", - "zeroize", -] - -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", - "libm", -] - -[[package]] -name = "object" -version = "0.36.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" - -[[package]] -name = "parking" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" - -[[package]] -name = "parking_lot" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.52.6", -] - -[[package]] -name = "pem-rfc7468" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" -dependencies = [ - "base64ct", -] - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "pin-project-lite" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkcs1" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" -dependencies = [ - "der", - "pkcs8", - "spki", -] - -[[package]] -name = "pkcs8" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" -dependencies = [ - "der", - "spki", -] - -[[package]] -name = "pkg-config" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" - -[[package]] -name = "ppv-lite86" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" -dependencies = [ - "zerocopy 0.8.23", -] - -[[package]] -name = "proc-macro2" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - -[[package]] -name = "rand" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" -dependencies = [ - "rand_chacha 0.9.0", - "rand_core 0.9.3", - "zerocopy 0.8.23", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_chacha" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" -dependencies = [ - "ppv-lite86", - "rand_core 0.9.3", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.15", -] - -[[package]] -name = "rand_core" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" -dependencies = [ - "getrandom 0.3.1", -] - -[[package]] -name = "recoverable-spawn" -version = "3.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5081593fb6a36af3e9ca8c4f23735f9d454a252cba0629509baa3947983846d" -dependencies = [ - "once_cell", - "tokio", -] - -[[package]] -name = "recoverable-thread-pool" -version = "2.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4190261c8a4823ceaf4b9cd68bf28deca98aa5697d2e1ec66e8053dac2a817fa" -dependencies = [ - "lombok-macros", - "recoverable-spawn", -] - -[[package]] -name = "redox_syscall" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" -dependencies = [ - "bitflags", -] - -[[package]] -name = "ref-cast" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "rsa" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" -dependencies = [ - "const-oid", - "digest", - "num-bigint-dig", - "num-integer", - "num-traits", - "pkcs1", - "pkcs8", - "rand_core 0.6.4", - "signature", - "spki", - "subtle", - "zeroize", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - -[[package]] -name = "rustix" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7178faa4b75a30e269c71e61c353ce2748cf3d76f0c44c393f4e60abf49b825" -dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.59.0", -] - -[[package]] -name = "ryu" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "serde" -version = "1.0.219" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde-xml-rs" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb3aa78ecda1ebc9ec9847d5d3aba7d618823446a049ba2491940506da6e2782" -dependencies = [ - "log", - "serde", - "thiserror 1.0.69", - "xml-rs", -] - -[[package]] -name = "serde_derive" -version = "1.0.219" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.140" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" -dependencies = [ - "itoa", - "memchr", - "ryu", - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "server-manager" -version = "3.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5144bc130554928fb304af2e7590742db173a40f82672613dc293f7567e8730e" -dependencies = [ - "tokio", -] - -[[package]] -name = "sha1" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" -dependencies = [ - "libc", -] - -[[package]] -name = "signature" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "digest", - "rand_core 0.6.4", -] - -[[package]] -name = "simd-json" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2bcf6c6e164e81bc7a5d49fc6988b3d515d9e8c07457d7b74ffb9324b9cd40" -dependencies = [ - "getrandom 0.2.15", - "halfbrown", - "ref-cast", - "serde", - "serde_json", - "simdutf8", - "value-trait", -] - -[[package]] -name = "simdutf8" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "smallvec" -version = "1.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" -dependencies = [ - "serde", -] - -[[package]] -name = "socket2" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -dependencies = [ - "lock_api", -] - -[[package]] -name = "spki" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" -dependencies = [ - "base64ct", - "der", -] - -[[package]] -name = "sqlx" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4410e73b3c0d8442c5f99b425d7a435b5ee0ae4167b3196771dd3f7a01be745f" -dependencies = [ - "sqlx-core", - "sqlx-macros", - "sqlx-mysql", - "sqlx-postgres", - "sqlx-sqlite", -] - -[[package]] -name = "sqlx-core" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a007b6936676aa9ab40207cde35daab0a04b823be8ae004368c0793b96a61e0" -dependencies = [ - "bytes", - "crc", - "crossbeam-queue", - "either", - "event-listener", - "futures-core", - "futures-intrusive", - "futures-io", - "futures-util", - "hashbrown 0.15.2", - "hashlink", - "indexmap", - "log", - "memchr", - "once_cell", - "percent-encoding", - "serde", - "serde_json", - "sha2", - "smallvec", - "thiserror 2.0.12", - "tokio", - "tokio-stream", - "tracing", - "url", -] - -[[package]] -name = "sqlx-macros" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3112e2ad78643fef903618d78cf0aec1cb3134b019730edb039b69eaf531f310" -dependencies = [ - "proc-macro2", - "quote", - "sqlx-core", - "sqlx-macros-core", - "syn", -] - -[[package]] -name = "sqlx-macros-core" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e9f90acc5ab146a99bf5061a7eb4976b573f560bc898ef3bf8435448dd5e7ad" -dependencies = [ - "dotenvy", - "either", - "heck", - "hex", - "once_cell", - "proc-macro2", - "quote", - "serde", - "serde_json", - "sha2", - "sqlx-core", - "sqlx-mysql", - "sqlx-postgres", - "sqlx-sqlite", - "syn", - "tempfile", - "tokio", - "url", -] - -[[package]] -name = "sqlx-mysql" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4560278f0e00ce64938540546f59f590d60beee33fffbd3b9cd47851e5fff233" -dependencies = [ - "atoi", - "base64", - "bitflags", - "byteorder", - "bytes", - "crc", - "digest", - "dotenvy", - "either", - "futures-channel", - "futures-core", - "futures-io", - "futures-util", - "generic-array", - "hex", - "hkdf", - "hmac", - "itoa", - "log", - "md-5", - "memchr", - "once_cell", - "percent-encoding", - "rand 0.8.5", - "rsa", - "serde", - "sha1", - "sha2", - "smallvec", - "sqlx-core", - "stringprep", - "thiserror 2.0.12", - "tracing", - "whoami", -] - -[[package]] -name = "sqlx-postgres" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5b98a57f363ed6764d5b3a12bfedf62f07aa16e1856a7ddc2a0bb190a959613" -dependencies = [ - "atoi", - "base64", - "bitflags", - "byteorder", - "crc", - "dotenvy", - "etcetera", - "futures-channel", - "futures-core", - "futures-util", - "hex", - "hkdf", - "hmac", - "home", - "itoa", - "log", - "md-5", - "memchr", - "once_cell", - "rand 0.8.5", - "serde", - "serde_json", - "sha2", - "smallvec", - "sqlx-core", - "stringprep", - "thiserror 2.0.12", - "tracing", - "whoami", -] - -[[package]] -name = "sqlx-sqlite" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f85ca71d3a5b24e64e1d08dd8fe36c6c95c339a896cc33068148906784620540" -dependencies = [ - "atoi", - "flume", - "futures-channel", - "futures-core", - "futures-executor", - "futures-intrusive", - "futures-util", - "libsqlite3-sys", - "log", - "percent-encoding", - "serde", - "serde_urlencoded", - "sqlx-core", - "tracing", - "url", -] - -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - -[[package]] -name = "std-macro-extensions" -version = "0.21.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b44c771c1591df90e3b49f618362dc1c431a8df6a7a6cc69dbe00757b158522" - -[[package]] -name = "stringprep" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" -dependencies = [ - "unicode-bidi", - "unicode-normalization", - "unicode-properties", -] - -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - -[[package]] -name = "syn" -version = "2.0.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "synstructure" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tempfile" -version = "3.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488960f40a3fd53d72c2a29a58722561dee8afdd175bd88e3db4677d7b2ba600" -dependencies = [ - "fastrand", - "getrandom 0.3.1", - "once_cell", - "rustix", - "windows-sys 0.59.0", -] - -[[package]] -name = "thiserror" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -dependencies = [ - "thiserror-impl 1.0.69", -] - -[[package]] -name = "thiserror" -version = "2.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" -dependencies = [ - "thiserror-impl 2.0.12", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "thiserror-impl" -version = "2.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tinystr" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" -dependencies = [ - "displaydoc", - "zerovec", -] - -[[package]] -name = "tinyvec" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.44.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.52.0", -] - -[[package]] -name = "tokio-macros" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tokio-stream" -version = "0.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "tracing" -version = "0.1.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" -dependencies = [ - "log", - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tracing-core" -version = "0.1.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" -dependencies = [ - "once_cell", -] - -[[package]] -name = "typenum" -version = "1.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" - -[[package]] -name = "unicode-bidi" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" - -[[package]] -name = "unicode-ident" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" - -[[package]] -name = "unicode-normalization" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-properties" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" - -[[package]] -name = "url" -version = "2.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - -[[package]] -name = "utf8_iter" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" - -[[package]] -name = "value-trait" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9170e001f458781e92711d2ad666110f153e4e50bfd5cbd02db6547625714187" -dependencies = [ - "float-cmp", - "halfbrown", - "itoa", - "ryu", -] - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasi" -version = "0.13.3+wasi-0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" -dependencies = [ - "wit-bindgen-rt", -] - -[[package]] -name = "wasite" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" - -[[package]] -name = "wasm-bindgen" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" -dependencies = [ - "cfg-if", - "once_cell", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "whoami" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d" -dependencies = [ - "redox_syscall", - "wasite", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "wit-bindgen-rt" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" -dependencies = [ - "bitflags", -] - -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - -[[package]] -name = "writeable" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" - -[[package]] -name = "xml-rs" -version = "0.8.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5b940ebc25896e71dd073bad2dbaa2abfe97b0a391415e22ad1326d9c54e3c4" - -[[package]] -name = "yoke" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" -dependencies = [ - "serde", - "stable_deref_trait", - "yoke-derive", - "zerofrom", -] - -[[package]] -name = "yoke-derive" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - -[[package]] -name = "zerocopy" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" -dependencies = [ - "zerocopy-derive 0.7.35", -] - -[[package]] -name = "zerocopy" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6" -dependencies = [ - "zerocopy-derive 0.8.23", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "zerocopy-derive" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "zerofrom" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" -dependencies = [ - "zerofrom-derive", -] - -[[package]] -name = "zerofrom-derive" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - -[[package]] -name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" - -[[package]] -name = "zerovec" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" -dependencies = [ - "yoke", - "zerofrom", - "zerovec-derive", -] - -[[package]] -name = "zerovec-derive" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] From 0abbc6bccb3a6b9ee236703274e24cfb076207e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 17 Mar 2025 12:05:11 +0800 Subject: [PATCH 081/260] feat: lock --- frameworks/Rust/hyperlane/.gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/.gitignore b/frameworks/Rust/hyperlane/.gitignore index fbb0636b360..af8e65c2e7a 100644 --- a/frameworks/Rust/hyperlane/.gitignore +++ b/frameworks/Rust/hyperlane/.gitignore @@ -1,3 +1,3 @@ /target /logs -# Cargo.lock \ No newline at end of file +Cargo.lock \ No newline at end of file From ad24c549c4036f3dc2252060b8f2dff1c5647c1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 21 Mar 2025 07:31:39 +0800 Subject: [PATCH 082/260] feat: v4.41.0 --- frameworks/Rust/hyperlane/Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 8b909a01df4..dc47e21541e 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "hyperlane_techempower" version = "0.0.1" -edition = "2021" +edition = "2024" authors = ["ltpp-universe "] license = "MIT" description = """Hyperlane is a lightweight and high-performance Rust HTTP server library designed to simplify network service development. It supports HTTP request parsing, response building, and TCP communication, making it ideal for building modern web services. Additionally, it provides support for request and response middleware, WebSocket, and Server-Sent Events (SSE), enabling flexible and efficient real-time communication.""" @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.36.1" +hyperlane = "4.41.0" rand = "0.9.0" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } From 854be9eb8f875c5162e9347ee85f8279fd2d3e3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 21 Mar 2025 09:32:45 +0800 Subject: [PATCH 083/260] feat: v4.42.0 --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index dc47e21541e..7bddf8cdafd 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.41.0" +hyperlane = "4.42.0" rand = "0.9.0" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } From adf4c8681e1b71e5f09da13042a079f5448b6b9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 21 Mar 2025 20:57:39 +0800 Subject: [PATCH 084/260] Merge remote-tracking branch 'upstream/master' --- frameworks/Rust/hyperlane/Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index a949cfe28df..7bddf8cdafd 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -22,7 +22,6 @@ hyperlane = "4.42.0" rand = "0.9.0" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } -sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } [profile.dev] incremental = false From d96191bc20c3a5fdbca27d0713750e8feb130e85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 21 Mar 2025 22:03:23 +0800 Subject: [PATCH 085/260] Merge remote-tracking branch 'upstream/master' --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 7bddf8cdafd..7ca0bbe6f4e 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.42.0" +hyperlane = "4.42.1" rand = "0.9.0" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } From a4026c21d7eb79ef487946ee6c1caa20df9548dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 21 Mar 2025 22:59:52 +0800 Subject: [PATCH 086/260] feat: inline --- frameworks/Rust/hyperlane/hyperlane.dockerfile | 2 +- frameworks/Rust/hyperlane/src/db.rs | 4 ++-- frameworks/Rust/hyperlane/src/main.rs | 4 ++-- frameworks/Rust/hyperlane/src/server.rs | 4 ++-- frameworks/Rust/hyperlane/src/type.rs | 6 +++++- frameworks/Rust/hyperlane/src/utils.rs | 2 -- frameworks/Rust/hyperlane/templates/fortune.hbs | 5 ----- 7 files changed, 12 insertions(+), 15 deletions(-) delete mode 100644 frameworks/Rust/hyperlane/templates/fortune.hbs diff --git a/frameworks/Rust/hyperlane/hyperlane.dockerfile b/frameworks/Rust/hyperlane/hyperlane.dockerfile index 480553c8c7a..c9e6f71e9cb 100644 --- a/frameworks/Rust/hyperlane/hyperlane.dockerfile +++ b/frameworks/Rust/hyperlane/hyperlane.dockerfile @@ -6,7 +6,7 @@ ADD ./ /hyperlane_techempower WORKDIR /hyperlane_techempower RUN cargo clean -RUN RUSTFLAGS="-C target-cpu=native" cargo build --release +RUN RUSTFLAGS="-C target-cpu=native -C link-arg=-fuse-ld=lld" cargo build --release EXPOSE 8080 diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index d1d51e8ee11..96e0bcbdf24 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -15,7 +15,7 @@ pub async fn get_db_connection() -> DbPoolConnection { #[inline] #[cfg(feature = "dev")] -pub async fn create_batabase() { +pub async fn create_database() { let db_pool: DbPoolConnection = get_db_connection().await; let _ = query(&format!("CREATE DATABASE {};", DATABASE_NAME)) .execute(&db_pool) @@ -176,7 +176,7 @@ pub async fn init_db() { } #[cfg(feature = "dev")] { - create_batabase().await; + create_database().await; create_table().await; insert_records().await; } diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index ef4a7838faa..78b975793e5 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -18,8 +18,7 @@ pub(crate) use hyperlane::{ *, }; pub(crate) use lazy::*; -pub(crate) use r#type::*; -pub(crate) use rand::{rngs::SmallRng, Rng, SeedableRng}; +pub(crate) use rand::{Rng, SeedableRng, rng, rngs::SmallRng}; pub(crate) use request_middleware::*; pub(crate) use response_middleware::*; pub(crate) use route::*; @@ -29,6 +28,7 @@ pub(crate) use sqlx::{ *, }; pub(crate) use std::{fmt, sync::Arc}; +pub(crate) use r#type::*; pub(crate) use utils::*; #[tokio::main] diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 91dc1aeea08..568fb066446 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -9,13 +9,13 @@ pub async fn run_server() { server.log_interval_millis(1_000_000_000).await; server.disable_inner_log().await; server.disable_inner_print().await; - server.route("/json", json).await; server.route("/plaintext", plaintext).await; + server.route("/json", json).await; + server.route("/cached-quer", cached_queries).await; server.route("/db", db).await; server.route("/query", queries).await; server.route("/fortunes", fortunes).await; server.route("/upda", updates).await; - server.route("/cached-quer", cached_queries).await; server.request_middleware(request).await; server.response_middleware(response).await; server.listen().await; diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index 3fb320ba049..9ec11ff4342 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -44,9 +44,13 @@ impl FortunesTemplate { } impl fmt::Display for FortunesTemplate { + #[inline] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let fortunes: &Vec = &self.0; - let _ = write!(f, "Fortunes"); + let _ = write!( + f, + "Fortunes
idmessage
" + ); for tem in fortunes.iter() { let row: String = format!( "", diff --git a/frameworks/Rust/hyperlane/src/utils.rs b/frameworks/Rust/hyperlane/src/utils.rs index 9552fe79074..16e8cdd8839 100644 --- a/frameworks/Rust/hyperlane/src/utils.rs +++ b/frameworks/Rust/hyperlane/src/utils.rs @@ -1,5 +1,3 @@ -use rand::rng; - use crate::*; #[inline] diff --git a/frameworks/Rust/hyperlane/templates/fortune.hbs b/frameworks/Rust/hyperlane/templates/fortune.hbs deleted file mode 100644 index b9e25a52a8e..00000000000 --- a/frameworks/Rust/hyperlane/templates/fortune.hbs +++ /dev/null @@ -1,5 +0,0 @@ -Fortunes
idmessage
{}{}
- {{~# each fortunes ~}} - - {{~/each ~}} -
idmessage
{{id}}{{message}}
From c9e324376e75ed350558f507d65cc8369433375e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 21 Mar 2025 23:14:41 +0800 Subject: [PATCH 087/260] feat: dockerfile --- frameworks/Rust/hyperlane/hyperlane.dockerfile | 2 ++ frameworks/Rust/hyperlane/src/db.rs | 18 ++++++------------ frameworks/Rust/hyperlane/src/lazy.rs | 5 ++--- frameworks/Rust/hyperlane/src/main.rs | 10 ++-------- frameworks/Rust/hyperlane/src/route.rs | 2 +- 5 files changed, 13 insertions(+), 24 deletions(-) diff --git a/frameworks/Rust/hyperlane/hyperlane.dockerfile b/frameworks/Rust/hyperlane/hyperlane.dockerfile index c9e6f71e9cb..d9bd815fd04 100644 --- a/frameworks/Rust/hyperlane/hyperlane.dockerfile +++ b/frameworks/Rust/hyperlane/hyperlane.dockerfile @@ -1,5 +1,7 @@ FROM rust:1.85 +RUN apt-get update -yqq && apt-get install -yqq cmake g++ binutils lld + ENV POSTGRES_URL=postgres://benchmarkdbuser:benchmarkdbpass@tfb-database:5432/hello_world ADD ./ /hyperlane_techempower diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 96e0bcbdf24..9f4db9f0f5c 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -2,14 +2,12 @@ use crate::*; #[inline] pub async fn get_db_connection() -> DbPoolConnection { - if let Some(db_pool) = DB.read().await.clone() { - return db_pool; + if let Some(db_pool) = DB.get() { + return db_pool.clone(); }; let db_pool: DbPoolConnection = connection_db().await; - { - let mut db_pool_lock: RwLockWriteGuard<'_, Option> = DB.write().await; - *db_pool_lock = Some(db_pool.clone()); - } + DB.set(db_pool.clone()) + .expect("Failed to initialize DB_POOL"); db_pool } @@ -97,8 +95,7 @@ pub async fn init_cache() { res.push(QueryRow::new(id, random_number)); } } - let mut cache: RwLockWriteGuard<'_, Vec> = CACHE.write().await; - *cache = res; + let _ = CACHE.set(res); } #[inline] @@ -170,10 +167,7 @@ pub async fn get_update_data( #[inline] pub async fn init_db() { - { - let mut db_pool_lock: RwLockWriteGuard<'_, Option> = DB.write().await; - *db_pool_lock = Some(connection_db().await); - } + get_db_connection().await; #[cfg(feature = "dev")] { create_database().await; diff --git a/frameworks/Rust/hyperlane/src/lazy.rs b/frameworks/Rust/hyperlane/src/lazy.rs index 6826b018008..6e95d5019b0 100644 --- a/frameworks/Rust/hyperlane/src/lazy.rs +++ b/frameworks/Rust/hyperlane/src/lazy.rs @@ -1,5 +1,4 @@ use crate::*; -pub static DB: Lazy>> = - Lazy::new(|| Arc::new(RwLock::new(None))); -pub static CACHE: Lazy>> = Lazy::new(|| arc_rwlock(vec![])); +pub static DB: OnceCell = OnceCell::new(); +pub static CACHE: OnceCell> = OnceCell::new(); diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 78b975793e5..72253debec0 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -10,13 +10,7 @@ pub(crate) mod utils; pub(crate) use constant::*; pub(crate) use db::*; -pub(crate) use hyperlane::{ - once_cell::sync::Lazy, - serde::*, - serde_json::json, - tokio::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard}, - *, -}; +pub(crate) use hyperlane::{once_cell::sync::OnceCell, serde::*, serde_json::json, *}; pub(crate) use lazy::*; pub(crate) use rand::{Rng, SeedableRng, rng, rngs::SmallRng}; pub(crate) use request_middleware::*; @@ -27,7 +21,7 @@ pub(crate) use sqlx::{ postgres::{PgPoolOptions, PgRow}, *, }; -pub(crate) use std::{fmt, sync::Arc}; +pub(crate) use std::fmt; pub(crate) use r#type::*; pub(crate) use utils::*; diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index e52db693195..c3c7cbcb855 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -97,7 +97,7 @@ pub async fn cached_queries(controller_data: ControllerData) { .min(ROW_LIMIT as Queries) .max(1); let mut res: Vec = Vec::with_capacity(count as usize); - let cache: RwLockReadGuard<'_, Vec> = CACHE.read().await; + let cache: Vec = CACHE.get().cloned().unwrap_or_default(); for i in 0..count { res.push(cache[i as usize].clone()); } From 1f2fee5e20b2dc0170856edbd36a56e83f9578ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 23 Mar 2025 16:08:11 +0800 Subject: [PATCH 088/260] feat: v4.52.1 --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- frameworks/Rust/hyperlane/src/server.rs | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 7ca0bbe6f4e..27bb8059d95 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.42.1" +hyperlane = "4.52.1" rand = "0.9.0" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 568fb066446..35aa1362230 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -2,10 +2,12 @@ use crate::*; #[inline] pub async fn run_server() { - let mut server: Server = Server::new(); + let server: Server = Server::new(); server.host("0.0.0.0").await; server.port(8080).await; server.log_dir("./logs").await; + server.http_line_buffer_size(512).await; + server.websocket_buffer_size(512).await; server.log_interval_millis(1_000_000_000).await; server.disable_inner_log().await; server.disable_inner_print().await; From f5b3ae78a2e6796fdaeba668e83f0ffb51eee2e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 23 Mar 2025 17:11:37 +0800 Subject: [PATCH 089/260] feat: remove key --- frameworks/Rust/hyperlane/Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 0cd9df7d00c..27bb8059d95 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -2,7 +2,6 @@ name = "hyperlane_techempower" version = "0.0.1" edition = "2024" -edition = "2024" authors = ["ltpp-universe "] license = "MIT" description = """Hyperlane is a lightweight and high-performance Rust HTTP server library designed to simplify network service development. It supports HTTP request parsing, response building, and TCP communication, making it ideal for building modern web services. Additionally, it provides support for request and response middleware, WebSocket, and Server-Sent Events (SSE), enabling flexible and efficient real-time communication.""" From 9e0cda584114dded8dc156749daebc951673665f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 23 Mar 2025 20:02:17 +0800 Subject: [PATCH 090/260] remove: log --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- frameworks/Rust/hyperlane/src/server.rs | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 27bb8059d95..b2afce63b72 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.52.1" +hyperlane = "4.53.0" rand = "0.9.0" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 35aa1362230..2c96e747411 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -5,12 +5,12 @@ pub async fn run_server() { let server: Server = Server::new(); server.host("0.0.0.0").await; server.port(8080).await; - server.log_dir("./logs").await; + server.disable_log().await; + server.disable_inner_log().await; + server.disable_inner_print().await; server.http_line_buffer_size(512).await; server.websocket_buffer_size(512).await; server.log_interval_millis(1_000_000_000).await; - server.disable_inner_log().await; - server.disable_inner_print().await; server.route("/plaintext", plaintext).await; server.route("/json", json).await; server.route("/cached-quer", cached_queries).await; From 07ad0ee255076d4b802b149802e5c019d4219d64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 23 Mar 2025 20:24:32 +0800 Subject: [PATCH 091/260] remove: log --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index b2afce63b72..d8619ced246 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.53.0" +hyperlane = "4.54.0" rand = "0.9.0" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } From 31ba915142332f1500fd5c3215dac1a8caedae97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 23 Mar 2025 21:58:22 +0800 Subject: [PATCH 092/260] feat: async --- frameworks/Rust/hyperlane/src/db.rs | 27 +++++------------ frameworks/Rust/hyperlane/src/main.rs | 1 + .../Rust/hyperlane/src/request_middleware.rs | 1 - .../Rust/hyperlane/src/response_middleware.rs | 1 - frameworks/Rust/hyperlane/src/route.rs | 29 ++++++++----------- frameworks/Rust/hyperlane/src/server.rs | 1 - frameworks/Rust/hyperlane/src/type.rs | 4 --- frameworks/Rust/hyperlane/src/utils.rs | 2 -- 8 files changed, 20 insertions(+), 46 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 9f4db9f0f5c..d41eeba9736 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -1,6 +1,5 @@ use crate::*; -#[inline] pub async fn get_db_connection() -> DbPoolConnection { if let Some(db_pool) = DB.get() { return db_pool.clone(); @@ -11,7 +10,6 @@ pub async fn get_db_connection() -> DbPoolConnection { db_pool } -#[inline] #[cfg(feature = "dev")] pub async fn create_database() { let db_pool: DbPoolConnection = get_db_connection().await; @@ -20,7 +18,6 @@ pub async fn create_database() { .await; } -#[inline] #[cfg(feature = "dev")] pub async fn create_table() { let db_pool: DbPoolConnection = get_db_connection().await; @@ -42,7 +39,6 @@ pub async fn create_table() { .await; } -#[inline] #[cfg(feature = "dev")] pub async fn insert_records() { let db_pool: DbPoolConnection = get_db_connection().await; @@ -80,7 +76,6 @@ pub async fn insert_records() { let _ = query(&sql).execute(&db_pool).await; } -#[inline] pub async fn init_cache() { let mut res: Vec = Vec::with_capacity(RANDOM_MAX as usize); let db_pool: DbPoolConnection = get_db_connection().await; @@ -98,7 +93,6 @@ pub async fn init_cache() { let _ = CACHE.set(res); } -#[inline] pub async fn connection_db() -> DbPoolConnection { let db_url: &str = match option_env!("POSTGRES_URL") { Some(it) => it, @@ -133,7 +127,6 @@ pub async fn connection_db() -> DbPoolConnection { pool } -#[inline] pub async fn get_update_data( limit: Queries, ) -> (String, Vec, Vec, Vec) { @@ -165,7 +158,6 @@ pub async fn get_update_data( (sql, query_res_list, id_list, random_numbers) } -#[inline] pub async fn init_db() { get_db_connection().await; #[cfg(feature = "dev")] @@ -177,13 +169,11 @@ pub async fn init_db() { init_cache().await; } -#[inline] pub async fn random_world_row(db_pool: &DbPoolConnection) -> QueryRow { let random_id: Queries = get_random_id(); query_world_row(db_pool, random_id).await } -#[inline] pub async fn query_world_row(db_pool: &DbPoolConnection, id: Queries) -> QueryRow { let sql: String = format!( "SELECT id, randomNumber FROM {} WHERE id = {} LIMIT 1", @@ -196,7 +186,6 @@ pub async fn query_world_row(db_pool: &DbPoolConnection, id: Queries) -> QueryRo return QueryRow::new(id as i32, 1); } -#[inline] pub async fn update_world_rows(limit: Queries) -> Vec { let db_pool: DbPoolConnection = get_db_connection().await; let (sql, data, id_list, random_numbers) = get_update_data(limit).await; @@ -211,7 +200,6 @@ pub async fn update_world_rows(limit: Queries) -> Vec { data } -#[inline] pub async fn all_world_row() -> Vec { let db_pool: DbPoolConnection = get_db_connection().await; let sql: String = format!("SELECT id, message FROM {}", TABLE_NAME_FORTUNE); @@ -219,13 +207,12 @@ pub async fn all_world_row() -> Vec { return res; } -#[inline] pub async fn get_some_row_id(limit: Queries, db_pool: &DbPoolConnection) -> Vec { - let mut res: Vec = Vec::with_capacity(limit as usize); - for _ in 0..limit { - let id: i32 = get_random_id(); - let tem: QueryRow = query_world_row(db_pool, id).await; - res.push(tem); - } - res + let futures: Vec<_> = (0..limit) + .map(|_| async { + let id: i32 = get_random_id(); + query_world_row(db_pool, id).await + }) + .collect(); + join_all(futures).await } diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 72253debec0..dc67b068e26 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -10,6 +10,7 @@ pub(crate) mod utils; pub(crate) use constant::*; pub(crate) use db::*; +pub(crate) use futures::future::join_all; pub(crate) use hyperlane::{once_cell::sync::OnceCell, serde::*, serde_json::json, *}; pub(crate) use lazy::*; pub(crate) use rand::{Rng, SeedableRng, rng, rngs::SmallRng}; diff --git a/frameworks/Rust/hyperlane/src/request_middleware.rs b/frameworks/Rust/hyperlane/src/request_middleware.rs index fe810b0a1d5..4696f51e867 100644 --- a/frameworks/Rust/hyperlane/src/request_middleware.rs +++ b/frameworks/Rust/hyperlane/src/request_middleware.rs @@ -1,6 +1,5 @@ use crate::*; -#[inline] pub async fn request(controller_data: ControllerData) { let _ = controller_data .set_response_header(CONNECTION, CONNECTION_KEEP_ALIVE) diff --git a/frameworks/Rust/hyperlane/src/response_middleware.rs b/frameworks/Rust/hyperlane/src/response_middleware.rs index dcf3b096b10..81fb0c368e9 100644 --- a/frameworks/Rust/hyperlane/src/response_middleware.rs +++ b/frameworks/Rust/hyperlane/src/response_middleware.rs @@ -1,6 +1,5 @@ use crate::*; -#[inline] pub async fn response(controller_data: ControllerData) { let _ = controller_data.send().await; } diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index c3c7cbcb855..81094acc8e3 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -1,6 +1,5 @@ use crate::*; -#[inline] pub async fn json(controller_data: ControllerData) { let json: serde_json::Value = json!({ "message": RESPONSEDATA @@ -10,7 +9,6 @@ pub async fn json(controller_data: ControllerData) { .await; } -#[inline] pub async fn plaintext(controller_data: ControllerData) { let _ = controller_data .set_response_header(CONTENT_TYPE, TEXT_PLAIN) @@ -19,7 +17,6 @@ pub async fn plaintext(controller_data: ControllerData) { .await; } -#[inline] pub async fn db(controller_data: ControllerData) { let db_connection: DbPoolConnection = get_db_connection().await; let query_row: QueryRow = random_world_row(&db_connection).await; @@ -28,7 +25,6 @@ pub async fn db(controller_data: ControllerData) { .await; } -#[inline] pub async fn queries(controller_data: ControllerData) { let queries: Queries = controller_data .get_request_query("q") @@ -37,18 +33,17 @@ pub async fn queries(controller_data: ControllerData) { .unwrap_or_default() .min(ROW_LIMIT as Queries) .max(1); - let mut data: Vec = Vec::with_capacity(queries as usize); let db_pool: DbPoolConnection = get_db_connection().await; - for _ in 0..queries { - let row: QueryRow = random_world_row(&db_pool).await; - data.push(row); - } + for _ in 0..queries {} + let futures: Vec<_> = (0..queries) + .map(|_| async { random_world_row(&db_pool).await }) + .collect(); + let data = join_all(futures).await; let _ = controller_data .set_response_body(serde_json::to_string(&data).unwrap_or_default()) .await; } -#[inline] pub async fn fortunes(controller_data: ControllerData) { let all_rows: Vec = all_world_row().await; let mut fortunes_list: Vec = all_rows @@ -72,7 +67,6 @@ pub async fn fortunes(controller_data: ControllerData) { .await; } -#[inline] pub async fn updates(controller_data: ControllerData) { let queries: Queries = controller_data .get_request_query("q") @@ -87,7 +81,6 @@ pub async fn updates(controller_data: ControllerData) { .await; } -#[inline] pub async fn cached_queries(controller_data: ControllerData) { let count: Queries = controller_data .get_request_query("c") @@ -96,11 +89,13 @@ pub async fn cached_queries(controller_data: ControllerData) { .unwrap_or_default() .min(ROW_LIMIT as Queries) .max(1); - let mut res: Vec = Vec::with_capacity(count as usize); - let cache: Vec = CACHE.get().cloned().unwrap_or_default(); - for i in 0..count { - res.push(cache[i as usize].clone()); - } + let res: Vec = CACHE + .get() + .unwrap_or(&Vec::new()) + .iter() + .take(count as usize) + .cloned() + .collect(); let _ = controller_data .set_response_body(serde_json::to_string(&res).unwrap_or_default()) .await; diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 2c96e747411..9480b372c6a 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -1,6 +1,5 @@ use crate::*; -#[inline] pub async fn run_server() { let server: Server = Server::new(); server.host("0.0.0.0").await; diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index 9ec11ff4342..b5e47ecd6cd 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -11,7 +11,6 @@ pub struct QueryRow { } impl QueryRow { - #[inline] pub fn new(id: Queries, random_number: Queries) -> Self { Self { id, @@ -27,7 +26,6 @@ pub struct Fortunes { } impl Fortunes { - #[inline] pub fn new(id: Queries, message: String) -> Self { Self { id, message } } @@ -37,14 +35,12 @@ impl Fortunes { pub struct FortunesTemplate(pub Vec); impl FortunesTemplate { - #[inline] pub fn new(list: Vec) -> Self { Self(list) } } impl fmt::Display for FortunesTemplate { - #[inline] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let fortunes: &Vec = &self.0; let _ = write!( diff --git a/frameworks/Rust/hyperlane/src/utils.rs b/frameworks/Rust/hyperlane/src/utils.rs index 16e8cdd8839..2f67531f50e 100644 --- a/frameworks/Rust/hyperlane/src/utils.rs +++ b/frameworks/Rust/hyperlane/src/utils.rs @@ -1,6 +1,5 @@ use crate::*; -#[inline] pub fn escape_html(input: &str) -> String { let mut result: String = String::new(); for ch in input.chars() { @@ -16,7 +15,6 @@ pub fn escape_html(input: &str) -> String { result } -#[inline] pub fn get_random_id() -> Queries { let mut rng: SmallRng = SmallRng::from_rng(&mut rng()); let random_id: u32 = rng.random_range(1..RANDOM_MAX_ADD_ONE); From 73740f60b69d955e650ae89538f6c5d88ce0fc72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 23 Mar 2025 22:02:06 +0800 Subject: [PATCH 093/260] remove: empty loop --- frameworks/Rust/hyperlane/src/route.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 81094acc8e3..696215823aa 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -34,11 +34,7 @@ pub async fn queries(controller_data: ControllerData) { .min(ROW_LIMIT as Queries) .max(1); let db_pool: DbPoolConnection = get_db_connection().await; - for _ in 0..queries {} - let futures: Vec<_> = (0..queries) - .map(|_| async { random_world_row(&db_pool).await }) - .collect(); - let data = join_all(futures).await; + let data: Vec = get_some_row_id(queries, &db_pool).await; let _ = controller_data .set_response_body(serde_json::to_string(&data).unwrap_or_default()) .await; From e6f7f35214f4ca19b51ea64fc41a5bfc752ab367 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 23 Mar 2025 22:08:48 +0800 Subject: [PATCH 094/260] feat: utf8 --- frameworks/Rust/hyperlane/src/request_middleware.rs | 2 +- frameworks/Rust/hyperlane/src/route.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/request_middleware.rs b/frameworks/Rust/hyperlane/src/request_middleware.rs index 4696f51e867..2973a128512 100644 --- a/frameworks/Rust/hyperlane/src/request_middleware.rs +++ b/frameworks/Rust/hyperlane/src/request_middleware.rs @@ -4,7 +4,7 @@ pub async fn request(controller_data: ControllerData) { let _ = controller_data .set_response_header(CONNECTION, CONNECTION_KEEP_ALIVE) .await - .set_response_header(CONTENT_TYPE, APPLICATION_JSON) + .set_response_header(CONTENT_TYPE, content_type_charset(APPLICATION_JSON, UTF8)) .await .set_response_header(SERVER, HYPERLANE) .await diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 696215823aa..cfd421d40ae 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -11,7 +11,7 @@ pub async fn json(controller_data: ControllerData) { pub async fn plaintext(controller_data: ControllerData) { let _ = controller_data - .set_response_header(CONTENT_TYPE, TEXT_PLAIN) + .set_response_header(CONTENT_TYPE, content_type_charset(TEXT_PLAIN, UTF8)) .await .set_response_body(RESPONSEDATA) .await; From b9f6e004e7b0d946f70a222a998ba1420b31332c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 23 Mar 2025 22:18:21 +0800 Subject: [PATCH 095/260] change: pool_size --- frameworks/Rust/hyperlane/src/db.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index d41eeba9736..09d2edd97a2 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -106,7 +106,7 @@ pub async fn connection_db() -> DbPoolConnection { DATABASE_NAME ), }; - let pool_size: u32 = (get_thread_count() >> 2).max(10).min(100) as u32; + let pool_size: u32 = (get_thread_count() << 2).max(10).min(100) as u32; let max_pool_size: u32 = option_env!("POSTGRES_MAX_POOL_SIZE") .unwrap_or(&pool_size.to_string()) .parse::() From 8f9ee7ad2ccd3cb34d3262cb3db9017dd3a95820 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 23 Mar 2025 22:35:24 +0800 Subject: [PATCH 096/260] remove: utf8 --- frameworks/Rust/hyperlane/src/constant.rs | 3 ++- frameworks/Rust/hyperlane/src/main.rs | 7 ++++++- frameworks/Rust/hyperlane/src/request_middleware.rs | 2 +- frameworks/Rust/hyperlane/src/route.rs | 8 ++++---- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/constant.rs b/frameworks/Rust/hyperlane/src/constant.rs index e22ac57c0b0..3c09d6f416a 100644 --- a/frameworks/Rust/hyperlane/src/constant.rs +++ b/frameworks/Rust/hyperlane/src/constant.rs @@ -1,4 +1,5 @@ -pub static RESPONSEDATA: &str = "Hello, World!"; +pub static RESPONSEDATA_STR: &str = "Hello, World!"; +pub static RESPONSEDATA_BIN: &[u8] = b"Hello, World!"; pub static DATABASE_TYPE: &str = "postgres"; pub static DATABASE_HOST: &str = "tfb-database"; pub static DATABASE_USER_NAME: &str = "benchmarkdbuser"; diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index dc67b068e26..e240a6aa862 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -11,7 +11,12 @@ pub(crate) mod utils; pub(crate) use constant::*; pub(crate) use db::*; pub(crate) use futures::future::join_all; -pub(crate) use hyperlane::{once_cell::sync::OnceCell, serde::*, serde_json::json, *}; +pub(crate) use hyperlane::{ + once_cell::sync::OnceCell, + serde::*, + serde_json::{Value, json}, + *, +}; pub(crate) use lazy::*; pub(crate) use rand::{Rng, SeedableRng, rng, rngs::SmallRng}; pub(crate) use request_middleware::*; diff --git a/frameworks/Rust/hyperlane/src/request_middleware.rs b/frameworks/Rust/hyperlane/src/request_middleware.rs index 2973a128512..4696f51e867 100644 --- a/frameworks/Rust/hyperlane/src/request_middleware.rs +++ b/frameworks/Rust/hyperlane/src/request_middleware.rs @@ -4,7 +4,7 @@ pub async fn request(controller_data: ControllerData) { let _ = controller_data .set_response_header(CONNECTION, CONNECTION_KEEP_ALIVE) .await - .set_response_header(CONTENT_TYPE, content_type_charset(APPLICATION_JSON, UTF8)) + .set_response_header(CONTENT_TYPE, APPLICATION_JSON) .await .set_response_header(SERVER, HYPERLANE) .await diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index cfd421d40ae..22f8f24af23 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -1,8 +1,8 @@ use crate::*; pub async fn json(controller_data: ControllerData) { - let json: serde_json::Value = json!({ - "message": RESPONSEDATA + let json: Value = json!({ + "message": RESPONSEDATA_STR }); let _ = controller_data .set_response_body(serde_json::to_string(&json).unwrap_or_default()) @@ -11,9 +11,9 @@ pub async fn json(controller_data: ControllerData) { pub async fn plaintext(controller_data: ControllerData) { let _ = controller_data - .set_response_header(CONTENT_TYPE, content_type_charset(TEXT_PLAIN, UTF8)) + .set_response_header(CONTENT_TYPE, TEXT_PLAIN) .await - .set_response_body(RESPONSEDATA) + .set_response_body(RESPONSEDATA_BIN) .await; } From 519aa5bbc665d91a31f5b0f4d5906732f3f35ea2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 24 Mar 2025 23:10:14 +0800 Subject: [PATCH 097/260] feat: log --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- frameworks/Rust/hyperlane/src/server.rs | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index d8619ced246..411d2c00067 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.54.0" +hyperlane = "4.55.0" rand = "0.9.0" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 9480b372c6a..1730e1b0ef7 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -9,7 +9,6 @@ pub async fn run_server() { server.disable_inner_print().await; server.http_line_buffer_size(512).await; server.websocket_buffer_size(512).await; - server.log_interval_millis(1_000_000_000).await; server.route("/plaintext", plaintext).await; server.route("/json", json).await; server.route("/cached-quer", cached_queries).await; From 258d2feb6797e874958b9c52b04cea5faf36cfaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 24 Mar 2025 23:28:02 +0800 Subject: [PATCH 098/260] feat: log --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 411d2c00067..178e5438158 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.55.0" +hyperlane = "4.56.0" rand = "0.9.0" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } From bee43f369efec19e99bb8afc3fee46b4f8935b77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 24 Mar 2025 23:56:38 +0800 Subject: [PATCH 099/260] feat: v3.14.1 --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 178e5438158..ff050f6e959 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.56.0" +hyperlane = "4.56.1" rand = "0.9.0" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } From 0384364bb3a1efd29bd2262d4f9e879e7b69dc43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 25 Mar 2025 13:44:06 +0800 Subject: [PATCH 100/260] feat: 4.56.3 --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index ff050f6e959..da9c8166dd6 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.56.1" +hyperlane = "4.56.3" rand = "0.9.0" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } From 23924c34ab63d597f8b66f00f18ae9f1bccaa55f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 25 Mar 2025 23:06:20 +0800 Subject: [PATCH 101/260] feat: 4.56.4 --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index da9c8166dd6..b05e344c62a 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.56.3" +hyperlane = "4.56.4" rand = "0.9.0" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } From dc9042fe2a490a45cf967064598811a882e3c439 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Wed, 26 Mar 2025 22:42:24 +0800 Subject: [PATCH 102/260] feat: 4.56.5 --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index b05e344c62a..7a4b0327fea 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.56.4" +hyperlane = "4.56.5" rand = "0.9.0" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } From d5844cd48c8a17811b893abeb3de2a24c23b3f03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 28 Mar 2025 08:48:09 +0800 Subject: [PATCH 103/260] feat: rename --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- .../Rust/hyperlane/src/request_middleware.rs | 4 +-- .../Rust/hyperlane/src/response_middleware.rs | 4 +-- frameworks/Rust/hyperlane/src/route.rs | 35 +++++++++---------- 4 files changed, 22 insertions(+), 23 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 7a4b0327fea..afdd5164a3f 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.56.5" +hyperlane = "4.57.0" rand = "0.9.0" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } diff --git a/frameworks/Rust/hyperlane/src/request_middleware.rs b/frameworks/Rust/hyperlane/src/request_middleware.rs index 4696f51e867..8b658d6207e 100644 --- a/frameworks/Rust/hyperlane/src/request_middleware.rs +++ b/frameworks/Rust/hyperlane/src/request_middleware.rs @@ -1,7 +1,7 @@ use crate::*; -pub async fn request(controller_data: ControllerData) { - let _ = controller_data +pub async fn request(ctx: Context) { + let _ = ctx .set_response_header(CONNECTION, CONNECTION_KEEP_ALIVE) .await .set_response_header(CONTENT_TYPE, APPLICATION_JSON) diff --git a/frameworks/Rust/hyperlane/src/response_middleware.rs b/frameworks/Rust/hyperlane/src/response_middleware.rs index 81fb0c368e9..85e8f422ebf 100644 --- a/frameworks/Rust/hyperlane/src/response_middleware.rs +++ b/frameworks/Rust/hyperlane/src/response_middleware.rs @@ -1,5 +1,5 @@ use crate::*; -pub async fn response(controller_data: ControllerData) { - let _ = controller_data.send().await; +pub async fn response(ctx: Context) { + let _ = ctx.send().await; } diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 22f8f24af23..cc6a184e6a7 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -1,32 +1,32 @@ use crate::*; -pub async fn json(controller_data: ControllerData) { +pub async fn json(ctx: Context) { let json: Value = json!({ "message": RESPONSEDATA_STR }); - let _ = controller_data + let _ = ctx .set_response_body(serde_json::to_string(&json).unwrap_or_default()) .await; } -pub async fn plaintext(controller_data: ControllerData) { - let _ = controller_data +pub async fn plaintext(ctx: Context) { + let _ = ctx .set_response_header(CONTENT_TYPE, TEXT_PLAIN) .await .set_response_body(RESPONSEDATA_BIN) .await; } -pub async fn db(controller_data: ControllerData) { +pub async fn db(ctx: Context) { let db_connection: DbPoolConnection = get_db_connection().await; let query_row: QueryRow = random_world_row(&db_connection).await; - let _ = controller_data + let _ = ctx .set_response_body(serde_json::to_string(&query_row).unwrap_or_default()) .await; } -pub async fn queries(controller_data: ControllerData) { - let queries: Queries = controller_data +pub async fn queries(ctx: Context) { + let queries: Queries = ctx .get_request_query("q") .await .and_then(|queries| queries.parse::().ok()) @@ -35,12 +35,12 @@ pub async fn queries(controller_data: ControllerData) { .max(1); let db_pool: DbPoolConnection = get_db_connection().await; let data: Vec = get_some_row_id(queries, &db_pool).await; - let _ = controller_data + let _ = ctx .set_response_body(serde_json::to_string(&data).unwrap_or_default()) .await; } -pub async fn fortunes(controller_data: ControllerData) { +pub async fn fortunes(ctx: Context) { let all_rows: Vec = all_world_row().await; let mut fortunes_list: Vec = all_rows .iter() @@ -56,15 +56,14 @@ pub async fn fortunes(controller_data: ControllerData) { )); fortunes_list.sort_by(|it, next| it.message.cmp(&next.message)); let res: String = FortunesTemplate::new(fortunes_list).to_string(); - controller_data - .set_response_header(CONTENT_TYPE, content_type_charset(TEXT_HTML, UTF8)) + ctx.set_response_header(CONTENT_TYPE, content_type_charset(TEXT_HTML, UTF8)) .await .set_response_body(res) .await; } -pub async fn updates(controller_data: ControllerData) { - let queries: Queries = controller_data +pub async fn updates(ctx: Context) { + let queries: Queries = ctx .get_request_query("q") .await .and_then(|queries| queries.parse::().ok()) @@ -72,13 +71,13 @@ pub async fn updates(controller_data: ControllerData) { .min(ROW_LIMIT as Queries) .max(1); let res: Vec = update_world_rows(queries).await; - let _ = controller_data + let _ = ctx .set_response_body(serde_json::to_string(&res).unwrap_or_default()) .await; } -pub async fn cached_queries(controller_data: ControllerData) { - let count: Queries = controller_data +pub async fn cached_queries(ctx: Context) { + let count: Queries = ctx .get_request_query("c") .await .and_then(|queries| queries.parse::().ok()) @@ -92,7 +91,7 @@ pub async fn cached_queries(controller_data: ControllerData) { .take(count as usize) .cloned() .collect(); - let _ = controller_data + let _ = ctx .set_response_body(serde_json::to_string(&res).unwrap_or_default()) .await; } From c3a79087c2a83a87550154d0b7b94e94e97bad95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 29 Mar 2025 10:49:48 +0800 Subject: [PATCH 104/260] Merge branch 'master' of github.com:TechEmpower/FrameworkBenchmarks --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- frameworks/Rust/hyperlane/src/db.rs | 2 +- frameworks/Rust/hyperlane/src/server.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index afdd5164a3f..76fb78d91fb 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.57.0" +hyperlane = "4.59.0" rand = "0.9.0" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 09d2edd97a2..628b3afd5d1 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -133,7 +133,7 @@ pub async fn get_update_data( let db_pool: DbPoolConnection = get_db_connection().await; let mut query_res_list: Vec = Vec::with_capacity(limit as usize); let rows: Vec = get_some_row_id(limit, &db_pool).await; - let mut sql = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME_WORLD); + let mut sql: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME_WORLD); let mut id_list: Vec = Vec::with_capacity(rows.len()); let mut value_list: Vec = Vec::with_capacity(rows.len() * 2); let mut random_numbers: Vec = Vec::with_capacity(rows.len()); diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 1730e1b0ef7..7ed61066e0a 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -18,5 +18,5 @@ pub async fn run_server() { server.route("/upda", updates).await; server.request_middleware(request).await; server.response_middleware(response).await; - server.listen().await; + server.listen().await.unwrap(); } From c81ee64db14782b4ee812aebcd7795af3edf4e79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 29 Mar 2025 18:23:18 +0800 Subject: [PATCH 105/260] feat: speed --- frameworks/Rust/hyperlane/src/db.rs | 27 +++++++++++++++++++-------- frameworks/Rust/hyperlane/src/main.rs | 5 +++-- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 628b3afd5d1..db7432e6640 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -176,7 +176,7 @@ pub async fn random_world_row(db_pool: &DbPoolConnection) -> QueryRow { pub async fn query_world_row(db_pool: &DbPoolConnection, id: Queries) -> QueryRow { let sql: String = format!( - "SELECT id, randomNumber FROM {} WHERE id = {} LIMIT 1", + "SELECT id, randomNumber FROM {} WHERE id = {}", TABLE_NAME_WORLD, id ); if let Ok(rows) = query(&sql).fetch_one(db_pool).await { @@ -208,11 +208,22 @@ pub async fn all_world_row() -> Vec { } pub async fn get_some_row_id(limit: Queries, db_pool: &DbPoolConnection) -> Vec { - let futures: Vec<_> = (0..limit) - .map(|_| async { - let id: i32 = get_random_id(); - query_world_row(db_pool, id).await - }) - .collect(); - join_all(futures).await + let semaphore: Arc = Arc::new(Semaphore::new(32)); + let mut tasks: Vec> = Vec::with_capacity(limit as usize); + for _ in 0..limit { + let _ = semaphore.clone().acquire_owned().await.map(|permit| { + let db_pool: DbPoolConnection = db_pool.clone(); + tasks.push(tokio::spawn(async move { + let id: i32 = get_random_id(); + let res: QueryRow = query_world_row(&db_pool, id).await; + drop(permit); + res + })); + }); + } + join_all(tasks) + .await + .into_iter() + .filter_map(Result::ok) + .collect() } diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index e240a6aa862..13d03ea470b 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -10,11 +10,12 @@ pub(crate) mod utils; pub(crate) use constant::*; pub(crate) use db::*; -pub(crate) use futures::future::join_all; pub(crate) use hyperlane::{ + futures::future::join_all, once_cell::sync::OnceCell, serde::*, serde_json::{Value, json}, + tokio::{sync::Semaphore, task::JoinHandle}, *, }; pub(crate) use lazy::*; @@ -27,7 +28,7 @@ pub(crate) use sqlx::{ postgres::{PgPoolOptions, PgRow}, *, }; -pub(crate) use std::fmt; +pub(crate) use std::{fmt, sync::Arc}; pub(crate) use r#type::*; pub(crate) use utils::*; From 19f5ae6a752ad706f36f9004585c7911d4a65bfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 29 Mar 2025 18:39:28 +0800 Subject: [PATCH 106/260] feat: speed --- frameworks/Rust/hyperlane/src/db.rs | 39 +++++++++++--------------- frameworks/Rust/hyperlane/src/lazy.rs | 4 +-- frameworks/Rust/hyperlane/src/main.rs | 6 ++-- frameworks/Rust/hyperlane/src/route.rs | 16 ++++------- 4 files changed, 26 insertions(+), 39 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index db7432e6640..7d0ade5c0b5 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -1,18 +1,12 @@ use crate::*; -pub async fn get_db_connection() -> DbPoolConnection { - if let Some(db_pool) = DB.get() { - return db_pool.clone(); - }; - let db_pool: DbPoolConnection = connection_db().await; - DB.set(db_pool.clone()) - .expect("Failed to initialize DB_POOL"); - db_pool +pub async fn get_db_connection() -> &'static DbPoolConnection { + &DB } #[cfg(feature = "dev")] pub async fn create_database() { - let db_pool: DbPoolConnection = get_db_connection().await; + let db_pool: &DbPoolConnection = get_db_connection().await; let _ = query(&format!("CREATE DATABASE {};", DATABASE_NAME)) .execute(&db_pool) .await; @@ -20,7 +14,7 @@ pub async fn create_database() { #[cfg(feature = "dev")] pub async fn create_table() { - let db_pool: DbPoolConnection = get_db_connection().await; + let db_pool: &DbPoolConnection = get_db_connection().await; let _ = query(&format!( "CREATE TABLE IF NOT EXISTS {} ( id SERIAL PRIMARY KEY, randomNumber INT NOT NULL @@ -41,7 +35,7 @@ pub async fn create_table() { #[cfg(feature = "dev")] pub async fn insert_records() { - let db_pool: DbPoolConnection = get_db_connection().await; + let db_pool: &DbPoolConnection = get_db_connection().await; let row: PgRow = query(&format!("SELECT COUNT(*) FROM {}", TABLE_NAME_WORLD)) .fetch_one(&db_pool) .await @@ -76,21 +70,21 @@ pub async fn insert_records() { let _ = query(&sql).execute(&db_pool).await; } -pub async fn init_cache() { +pub async fn init_cache() -> Vec { let mut res: Vec = Vec::with_capacity(RANDOM_MAX as usize); - let db_pool: DbPoolConnection = get_db_connection().await; + let db_pool: &DbPoolConnection = get_db_connection().await; let sql: String = format!( "SELECT id, randomNumber FROM {} LIMIT {}", TABLE_NAME_WORLD, RANDOM_MAX ); - if let Ok(rows) = query(&sql).fetch_all(&db_pool).await { + if let Ok(rows) = query(&sql).fetch_all(db_pool).await { for row in rows { let id: i32 = row.get(KEY_ID); let random_number: i32 = row.get(KEY_RANDOM_NUMBER); res.push(QueryRow::new(id, random_number)); } } - let _ = CACHE.set(res); + res } pub async fn connection_db() -> DbPoolConnection { @@ -130,9 +124,9 @@ pub async fn connection_db() -> DbPoolConnection { pub async fn get_update_data( limit: Queries, ) -> (String, Vec, Vec, Vec) { - let db_pool: DbPoolConnection = get_db_connection().await; + let db_pool: &DbPoolConnection = get_db_connection().await; let mut query_res_list: Vec = Vec::with_capacity(limit as usize); - let rows: Vec = get_some_row_id(limit, &db_pool).await; + let rows: Vec = get_some_row_id(limit, db_pool).await; let mut sql: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME_WORLD); let mut id_list: Vec = Vec::with_capacity(rows.len()); let mut value_list: Vec = Vec::with_capacity(rows.len() * 2); @@ -159,7 +153,6 @@ pub async fn get_update_data( } pub async fn init_db() { - get_db_connection().await; #[cfg(feature = "dev")] { create_database().await; @@ -187,7 +180,7 @@ pub async fn query_world_row(db_pool: &DbPoolConnection, id: Queries) -> QueryRo } pub async fn update_world_rows(limit: Queries) -> Vec { - let db_pool: DbPoolConnection = get_db_connection().await; + let db_pool: &DbPoolConnection = get_db_connection().await; let (sql, data, id_list, random_numbers) = get_update_data(limit).await; let mut query_builder: query::Query<'_, Postgres, postgres::PgArguments> = query(&sql); for (id, random_number) in id_list.iter().zip(random_numbers.iter()) { @@ -196,14 +189,14 @@ pub async fn update_world_rows(limit: Queries) -> Vec { for id in &id_list { query_builder = query_builder.bind(id); } - let _ = query_builder.execute(&db_pool).await; + let _ = query_builder.execute(db_pool).await; data } pub async fn all_world_row() -> Vec { - let db_pool: DbPoolConnection = get_db_connection().await; + let db_pool: &DbPoolConnection = get_db_connection().await; let sql: String = format!("SELECT id, message FROM {}", TABLE_NAME_FORTUNE); - let res: Vec = query(&sql).fetch_all(&db_pool).await.unwrap_or_default(); + let res: Vec = query(&sql).fetch_all(db_pool).await.unwrap_or_default(); return res; } @@ -213,7 +206,7 @@ pub async fn get_some_row_id(limit: Queries, db_pool: &DbPoolConnection) -> Vec< for _ in 0..limit { let _ = semaphore.clone().acquire_owned().await.map(|permit| { let db_pool: DbPoolConnection = db_pool.clone(); - tasks.push(tokio::spawn(async move { + tasks.push(spawn(async move { let id: i32 = get_random_id(); let res: QueryRow = query_world_row(&db_pool, id).await; drop(permit); diff --git a/frameworks/Rust/hyperlane/src/lazy.rs b/frameworks/Rust/hyperlane/src/lazy.rs index 6e95d5019b0..a792c04b13b 100644 --- a/frameworks/Rust/hyperlane/src/lazy.rs +++ b/frameworks/Rust/hyperlane/src/lazy.rs @@ -1,4 +1,4 @@ use crate::*; -pub static DB: OnceCell = OnceCell::new(); -pub static CACHE: OnceCell> = OnceCell::new(); +pub static DB: Lazy = Lazy::new(|| block_on(async { connection_db().await })); +pub static CACHE: Lazy> = Lazy::new(|| block_on(async { init_cache().await })); diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 13d03ea470b..7f3bd35a2d1 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -11,11 +11,11 @@ pub(crate) mod utils; pub(crate) use constant::*; pub(crate) use db::*; pub(crate) use hyperlane::{ - futures::future::join_all, - once_cell::sync::OnceCell, + futures::{executor::block_on, future::join_all}, + once_cell::sync::Lazy, serde::*, serde_json::{Value, json}, - tokio::{sync::Semaphore, task::JoinHandle}, + tokio::{spawn, sync::Semaphore, task::JoinHandle}, *, }; pub(crate) use lazy::*; diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index cc6a184e6a7..94902d51037 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -18,8 +18,8 @@ pub async fn plaintext(ctx: Context) { } pub async fn db(ctx: Context) { - let db_connection: DbPoolConnection = get_db_connection().await; - let query_row: QueryRow = random_world_row(&db_connection).await; + let db_connection: &DbPoolConnection = get_db_connection().await; + let query_row: QueryRow = random_world_row(db_connection).await; let _ = ctx .set_response_body(serde_json::to_string(&query_row).unwrap_or_default()) .await; @@ -33,8 +33,8 @@ pub async fn queries(ctx: Context) { .unwrap_or_default() .min(ROW_LIMIT as Queries) .max(1); - let db_pool: DbPoolConnection = get_db_connection().await; - let data: Vec = get_some_row_id(queries, &db_pool).await; + let db_pool: &DbPoolConnection = get_db_connection().await; + let data: Vec = get_some_row_id(queries, db_pool).await; let _ = ctx .set_response_body(serde_json::to_string(&data).unwrap_or_default()) .await; @@ -84,13 +84,7 @@ pub async fn cached_queries(ctx: Context) { .unwrap_or_default() .min(ROW_LIMIT as Queries) .max(1); - let res: Vec = CACHE - .get() - .unwrap_or(&Vec::new()) - .iter() - .take(count as usize) - .cloned() - .collect(); + let res: Vec = CACHE.iter().take(count as usize).cloned().collect(); let _ = ctx .set_response_body(serde_json::to_string(&res).unwrap_or_default()) .await; From f77a306daca781ebdb45471b7053feca83004228 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 29 Mar 2025 18:52:07 +0800 Subject: [PATCH 107/260] lock: toml --- frameworks/Rust/hyperlane/Cargo.toml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 76fb78d91fb..8b8f51f3a82 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,10 +18,10 @@ exclude = [ ] [dependencies] -hyperlane = "4.59.0" -rand = "0.9.0" -serde = "1.0.219" -sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } +hyperlane = "=4.59.0" +rand = "=0.9.0" +serde = "=1.0.219" +sqlx = { version = "=0.8.3", features = ["runtime-tokio", "postgres"] } [profile.dev] incremental = false From f6a98ab1f4be45aeb5b177cafe9badc832a202ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 29 Mar 2025 20:48:21 +0800 Subject: [PATCH 108/260] lock: toml --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 8b8f51f3a82..9388d1a8e8c 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "=4.59.0" +hyperlane = "=4.59.1" rand = "=0.9.0" serde = "=1.0.219" sqlx = { version = "=0.8.3", features = ["runtime-tokio", "postgres"] } From ceb254c71f5f575aceab087431b21888f52cba2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 29 Mar 2025 22:00:51 +0800 Subject: [PATCH 109/260] lock: toml --- frameworks/Rust/hyperlane/src/db.rs | 16 ++++++++-------- frameworks/Rust/hyperlane/src/route.rs | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 7d0ade5c0b5..531fcfa268c 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -1,12 +1,12 @@ use crate::*; -pub async fn get_db_connection() -> &'static DbPoolConnection { +pub fn get_db_connection() -> &'static DbPoolConnection { &DB } #[cfg(feature = "dev")] pub async fn create_database() { - let db_pool: &DbPoolConnection = get_db_connection().await; + let db_pool: &DbPoolConnection = get_db_connection(); let _ = query(&format!("CREATE DATABASE {};", DATABASE_NAME)) .execute(&db_pool) .await; @@ -14,7 +14,7 @@ pub async fn create_database() { #[cfg(feature = "dev")] pub async fn create_table() { - let db_pool: &DbPoolConnection = get_db_connection().await; + let db_pool: &DbPoolConnection = get_db_connection(); let _ = query(&format!( "CREATE TABLE IF NOT EXISTS {} ( id SERIAL PRIMARY KEY, randomNumber INT NOT NULL @@ -35,7 +35,7 @@ pub async fn create_table() { #[cfg(feature = "dev")] pub async fn insert_records() { - let db_pool: &DbPoolConnection = get_db_connection().await; + let db_pool: &DbPoolConnection = get_db_connection(); let row: PgRow = query(&format!("SELECT COUNT(*) FROM {}", TABLE_NAME_WORLD)) .fetch_one(&db_pool) .await @@ -72,7 +72,7 @@ pub async fn insert_records() { pub async fn init_cache() -> Vec { let mut res: Vec = Vec::with_capacity(RANDOM_MAX as usize); - let db_pool: &DbPoolConnection = get_db_connection().await; + let db_pool: &DbPoolConnection = get_db_connection(); let sql: String = format!( "SELECT id, randomNumber FROM {} LIMIT {}", TABLE_NAME_WORLD, RANDOM_MAX @@ -124,7 +124,7 @@ pub async fn connection_db() -> DbPoolConnection { pub async fn get_update_data( limit: Queries, ) -> (String, Vec, Vec, Vec) { - let db_pool: &DbPoolConnection = get_db_connection().await; + let db_pool: &DbPoolConnection = get_db_connection(); let mut query_res_list: Vec = Vec::with_capacity(limit as usize); let rows: Vec = get_some_row_id(limit, db_pool).await; let mut sql: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME_WORLD); @@ -180,7 +180,7 @@ pub async fn query_world_row(db_pool: &DbPoolConnection, id: Queries) -> QueryRo } pub async fn update_world_rows(limit: Queries) -> Vec { - let db_pool: &DbPoolConnection = get_db_connection().await; + let db_pool: &DbPoolConnection = get_db_connection(); let (sql, data, id_list, random_numbers) = get_update_data(limit).await; let mut query_builder: query::Query<'_, Postgres, postgres::PgArguments> = query(&sql); for (id, random_number) in id_list.iter().zip(random_numbers.iter()) { @@ -194,7 +194,7 @@ pub async fn update_world_rows(limit: Queries) -> Vec { } pub async fn all_world_row() -> Vec { - let db_pool: &DbPoolConnection = get_db_connection().await; + let db_pool: &DbPoolConnection = get_db_connection(); let sql: String = format!("SELECT id, message FROM {}", TABLE_NAME_FORTUNE); let res: Vec = query(&sql).fetch_all(db_pool).await.unwrap_or_default(); return res; diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 94902d51037..8ed6ec4e460 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -18,7 +18,7 @@ pub async fn plaintext(ctx: Context) { } pub async fn db(ctx: Context) { - let db_connection: &DbPoolConnection = get_db_connection().await; + let db_connection: &DbPoolConnection = get_db_connection(); let query_row: QueryRow = random_world_row(db_connection).await; let _ = ctx .set_response_body(serde_json::to_string(&query_row).unwrap_or_default()) @@ -33,7 +33,7 @@ pub async fn queries(ctx: Context) { .unwrap_or_default() .min(ROW_LIMIT as Queries) .max(1); - let db_pool: &DbPoolConnection = get_db_connection().await; + let db_pool: &DbPoolConnection = get_db_connection(); let data: Vec = get_some_row_id(queries, db_pool).await; let _ = ctx .set_response_body(serde_json::to_string(&data).unwrap_or_default()) From 482cc17056a71a1259080f80c37d747716e39823 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 30 Mar 2025 08:57:56 +0800 Subject: [PATCH 110/260] lock: toml --- frameworks/Rust/hyperlane/src/db.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 531fcfa268c..2059281737a 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -159,7 +159,7 @@ pub async fn init_db() { create_table().await; insert_records().await; } - init_cache().await; + std::hint::black_box(init_cache().await); } pub async fn random_world_row(db_pool: &DbPoolConnection) -> QueryRow { From 48bd6e8dcacc06ff5e93cbd1621951ccc854cdd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 30 Mar 2025 09:04:17 +0800 Subject: [PATCH 111/260] lock: toml --- frameworks/Rust/hyperlane/src/db.rs | 2 +- frameworks/Rust/hyperlane/src/main.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 2059281737a..d4842377b9b 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -159,7 +159,7 @@ pub async fn init_db() { create_table().await; insert_records().await; } - std::hint::black_box(init_cache().await); + black_box(init_cache().await); } pub async fn random_world_row(db_pool: &DbPoolConnection) -> QueryRow { diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 7f3bd35a2d1..a37ecfcf4b3 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -28,7 +28,7 @@ pub(crate) use sqlx::{ postgres::{PgPoolOptions, PgRow}, *, }; -pub(crate) use std::{fmt, sync::Arc}; +pub(crate) use std::{fmt, hint::black_box, sync::Arc}; pub(crate) use r#type::*; pub(crate) use utils::*; From a567e671c8826d3b0e53876d9793ce4aacd5019b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 30 Mar 2025 09:18:15 +0800 Subject: [PATCH 112/260] lock: toml --- frameworks/Rust/hyperlane/Cargo.toml | 1 + frameworks/Rust/hyperlane/src/db.rs | 14 +++----------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 9388d1a8e8c..c6345c94836 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -19,6 +19,7 @@ exclude = [ [dependencies] hyperlane = "=4.59.1" +num_cpus = "=1.16.0" rand = "=0.9.0" serde = "=1.0.219" sqlx = { version = "=0.8.3", features = ["runtime-tokio", "postgres"] } diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index d4842377b9b..92d7253438d 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -100,18 +100,10 @@ pub async fn connection_db() -> DbPoolConnection { DATABASE_NAME ), }; - let pool_size: u32 = (get_thread_count() << 2).max(10).min(100) as u32; - let max_pool_size: u32 = option_env!("POSTGRES_MAX_POOL_SIZE") - .unwrap_or(&pool_size.to_string()) - .parse::() - .unwrap_or(pool_size); - let min_pool_size: u32 = option_env!("POSTGRES_MIN_POOL_SIZE") - .unwrap_or(&pool_size.to_string()) - .parse::() - .unwrap_or(pool_size); + let pool_size: u32 = num_cpus::get() as u32; let pool: DbPoolConnection = PgPoolOptions::new() - .max_connections(max_pool_size) - .min_connections(min_pool_size) + .max_connections(100) + .min_connections(pool_size) .max_lifetime(None) .test_before_acquire(false) .idle_timeout(None) From 6de8e40c04d3b132d265ae5e05adcd5c0dd0c607 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 30 Mar 2025 16:03:12 +0800 Subject: [PATCH 113/260] lock: toml --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index c6345c94836..c763690f15d 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "=4.59.1" +hyperlane = "=4.60.0" num_cpus = "=1.16.0" rand = "=0.9.0" serde = "=1.0.219" From 6b6aba50829da30ff58ae8021eda0bf189f361be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 31 Mar 2025 20:28:45 +0800 Subject: [PATCH 114/260] lock: toml --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index c763690f15d..1fdb7ce7831 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "=4.60.0" +hyperlane = "=4.61.0" num_cpus = "=1.16.0" rand = "=0.9.0" serde = "=1.0.219" From 2c558cc8985ce2103926c8b23442216097a8f9e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Wed, 2 Apr 2025 07:59:18 +0800 Subject: [PATCH 115/260] lock: toml --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 1fdb7ce7831..c4a5a433d80 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "=4.61.0" +hyperlane = "=4.61.1" num_cpus = "=1.16.0" rand = "=0.9.0" serde = "=1.0.219" From ff0e59d9c1bdd81711672a262f5224a231bdb548 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Wed, 2 Apr 2025 22:06:14 +0800 Subject: [PATCH 116/260] lock: toml --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index c4a5a433d80..0b95a983e0d 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "=4.61.1" +hyperlane = "=4.61.2" num_cpus = "=1.16.0" rand = "=0.9.0" serde = "=1.0.219" From eb4e3377cb2139c8e6b0e347c58c44ab250b4a11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Thu, 3 Apr 2025 09:26:10 +0800 Subject: [PATCH 117/260] lock: toml --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 0b95a983e0d..d0f00a9de66 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "=4.61.2" +hyperlane = "=4.62.0" num_cpus = "=1.16.0" rand = "=0.9.0" serde = "=1.0.219" From efcb34dcfc2dde7ca23134f1c162a733a22a8fc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Thu, 3 Apr 2025 23:42:20 +0800 Subject: [PATCH 118/260] lock: toml --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- frameworks/Rust/hyperlane/src/server.rs | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index d0f00a9de66..269e9043116 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "=4.62.0" +hyperlane = "=4.64.0" num_cpus = "=1.16.0" rand = "=0.9.0" serde = "=1.0.219" diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 7ed61066e0a..7c5da96275d 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -4,6 +4,8 @@ pub async fn run_server() { let server: Server = Server::new(); server.host("0.0.0.0").await; server.port(8080).await; + server.disable_linger().await; + server.disable_nodelay().await; server.disable_log().await; server.disable_inner_log().await; server.disable_inner_print().await; From d364aac594600daf91dd20c14cb6a0407d3acc0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 4 Apr 2025 09:20:25 +0800 Subject: [PATCH 119/260] lock: toml --- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 269e9043116..66cbc75cbb8 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "=4.64.0" +hyperlane = "=4.65.0" num_cpus = "=1.16.0" rand = "=0.9.0" serde = "=1.0.219" From fe200ce30fe1a526fcec0b25ec2aef8742815fcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 4 Apr 2025 19:34:16 +0800 Subject: [PATCH 120/260] feat: runtime --- frameworks/Rust/hyperlane/src/main.rs | 6 ++---- frameworks/Rust/hyperlane/src/server.rs | 23 ++++++++++++++++++++++- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index a37ecfcf4b3..0b7ce0a26de 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -32,8 +32,6 @@ pub(crate) use std::{fmt, hint::black_box, sync::Arc}; pub(crate) use r#type::*; pub(crate) use utils::*; -#[tokio::main] -async fn main() { - init_db().await; - run_server().await; +fn main() { + run_server(); } diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 7c5da96275d..d075a5d94e2 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -1,6 +1,18 @@ use crate::*; +use tokio::runtime::{Builder, Runtime}; -pub async fn run_server() { +fn runtime() -> Runtime { + Builder::new_multi_thread() + .worker_threads(get_thread_count()) + .thread_stack_size(1024) + .max_blocking_threads(5120) + .max_io_events_per_tick(5120) + .enable_all() + .build() + .unwrap() +} + +async fn init_server() { let server: Server = Server::new(); server.host("0.0.0.0").await; server.port(8080).await; @@ -22,3 +34,12 @@ pub async fn run_server() { server.response_middleware(response).await; server.listen().await.unwrap(); } + +async fn init() { + init_db().await; + init_server().await; +} + +pub fn run_server() { + runtime().block_on(init()); +} From 636f4e9418e152d17f9a7dbd14260c4b000c1915 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 4 Apr 2025 20:46:14 +0800 Subject: [PATCH 121/260] feat: runtime --- frameworks/Rust/hyperlane/src/server.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index d075a5d94e2..99c2e374f7d 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -4,7 +4,7 @@ use tokio::runtime::{Builder, Runtime}; fn runtime() -> Runtime { Builder::new_multi_thread() .worker_threads(get_thread_count()) - .thread_stack_size(1024) + .thread_stack_size(0x1000) .max_blocking_threads(5120) .max_io_events_per_tick(5120) .enable_all() From 2b3c2d6205f473ea3eb8392813d97e1399f7160b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 4 Apr 2025 21:16:24 +0800 Subject: [PATCH 122/260] feat: runtime --- frameworks/Rust/hyperlane/src/server.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 99c2e374f7d..72883143580 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -4,7 +4,7 @@ use tokio::runtime::{Builder, Runtime}; fn runtime() -> Runtime { Builder::new_multi_thread() .worker_threads(get_thread_count()) - .thread_stack_size(0x1000) + .thread_stack_size(2097152) .max_blocking_threads(5120) .max_io_events_per_tick(5120) .enable_all() From c51c4b922ee051163ce747c08a5ae37ea234d539 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 6 Apr 2025 11:22:19 +0800 Subject: [PATCH 123/260] lock: toml --- frameworks/Rust/hyperlane/.gitignore | 3 +- frameworks/Rust/hyperlane/Cargo.lock | 2381 ++++++++++++++++++++++++++ frameworks/Rust/hyperlane/Cargo.toml | 10 +- 3 files changed, 2387 insertions(+), 7 deletions(-) create mode 100644 frameworks/Rust/hyperlane/Cargo.lock diff --git a/frameworks/Rust/hyperlane/.gitignore b/frameworks/Rust/hyperlane/.gitignore index af8e65c2e7a..c0ed7d09f10 100644 --- a/frameworks/Rust/hyperlane/.gitignore +++ b/frameworks/Rust/hyperlane/.gitignore @@ -1,3 +1,2 @@ /target -/logs -Cargo.lock \ No newline at end of file +/logs \ No newline at end of file diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock new file mode 100644 index 00000000000..eee47a36441 --- /dev/null +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -0,0 +1,2381 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "addr2line" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "getrandom 0.2.15", + "once_cell", + "version_check", + "zerocopy 0.7.35", +] + +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "async-func" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61cf3fe5910b9139e5f8b4bdb4a0923d5aaae21fb45cb64e22d4b43ac70da5ad" +dependencies = [ + "tokio", +] + +[[package]] +name = "atoi" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" +dependencies = [ + "num-traits", +] + +[[package]] +name = "autocfg" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + +[[package]] +name = "backtrace" +version = "0.3.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +dependencies = [ + "addr2line", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", + "windows-targets 0.52.6", +] + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" + +[[package]] +name = "bitflags" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" +dependencies = [ + "serde", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "brotli" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "4.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bumpalo" +version = "3.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "clonelicious" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc3dfae702af156917c65f4ccc70687088331f0b694e5e687453e4d68a16b496" + +[[package]] +name = "color-output" +version = "6.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5427d1c209887c8f2e528a64e0849a517fd14fe74d54904af57cb9446cf20b4" +dependencies = [ + "hyperlane-time", +] + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crc" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "dashmap" +version = "6.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" +dependencies = [ + "cfg-if", + "crossbeam-utils", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", +] + +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +dependencies = [ + "serde", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "etcetera" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" +dependencies = [ + "cfg-if", + "home", + "windows-sys 0.48.0", +] + +[[package]] +name = "event-listener" +version = "5.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "file-operation" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66e0c123d53cd593ab9a38d5078c8483e890259dfec47bd453dfc09e6c052aca" +dependencies = [ + "tokio", +] + +[[package]] +name = "flate2" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "float-cmp" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8" +dependencies = [ + "num-traits", +] + +[[package]] +name = "flume" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" +dependencies = [ + "futures-core", + "futures-sink", + "spin", +] + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-executor" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-intrusive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot", +] + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", + "wasm-bindgen", +] + +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" + +[[package]] +name = "halfbrown" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2c385c6df70fd180bbb673d93039dbd2cd34e41d782600bdf6e1ca7bce39aa" +dependencies = [ + "hashbrown 0.15.2", + "serde", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + +[[package]] +name = "hashbrown" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "hashlink" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" +dependencies = [ + "hashbrown 0.15.2", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "home" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "http-compress" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "def62accac840ecbddc4170585171192f4b0cf879fb4dc4e454699f476feff12" +dependencies = [ + "brotli", + "flate2", + "twox-hash", +] + +[[package]] +name = "http-constant" +version = "1.40.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711a0d020705f9eca6b58b4f23b6e815ecdafb6a8deeadd8ee6f49164b24e0c9" + +[[package]] +name = "http-type" +version = "3.61.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa58e4a32c839ccb2aba4cc0bbd5e2a8baa3699dc709f8e419ab342c01ffaafd" +dependencies = [ + "ahash", + "dashmap", + "futures", + "hex", + "http-compress", + "http-constant", + "lombok-macros", + "num_cpus", + "once_cell", + "serde", + "serde-xml-rs", + "serde_json", + "serde_urlencoded", + "simd-json", + "std-macro-extensions", + "tokio", + "twox-hash", + "url", + "urlencoding", +] + +[[package]] +name = "hyperlane" +version = "4.67.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8956c17a0b4a4bdd4227b66fdc4fb8a1a8ab6e3ea215b6fb46f88dadf9fb2996" +dependencies = [ + "async-func", + "clonelicious", + "color-output", + "file-operation", + "http-type", + "hyperlane-log", + "hyperlane-time", + "recoverable-spawn", + "recoverable-thread-pool", + "server-manager", +] + +[[package]] +name = "hyperlane-log" +version = "1.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15882faec87a44fc4285b5b5f0324c3b853dbc3cd2cfd4942ada9ba05828e0ee" +dependencies = [ + "file-operation", + "hyperlane-time", + "lombok-macros", + "tokio", +] + +[[package]] +name = "hyperlane-time" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4737d903a4e4ed8c82c13d4878faebc117e06bd3386d7002bad4347558209de" + +[[package]] +name = "hyperlane_techempower" +version = "0.0.1" +dependencies = [ + "hyperlane", + "num_cpus", + "rand 0.9.0", + "serde", + "sqlx", +] + +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "idna" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "indexmap" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" +dependencies = [ + "equivalent", + "hashbrown 0.15.2", +] + +[[package]] +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "js-sys" +version = "0.3.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin", +] + +[[package]] +name = "libc" +version = "0.2.171" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" + +[[package]] +name = "libm" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" + +[[package]] +name = "libsqlite3-sys" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" +dependencies = [ + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linux-raw-sys" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" + +[[package]] +name = "litemap" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" + +[[package]] +name = "lombok-macros" +version = "1.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eff7e8bfea5ff4ba05d8e287c4459438454d86face7b93552b43c51790481a42" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "miniz_oxide" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" +dependencies = [ + "adler2", +] + +[[package]] +name = "mio" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +dependencies = [ + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.52.0", +] + +[[package]] +name = "num-bigint-dig" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" +dependencies = [ + "byteorder", + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "smallvec", + "zeroize", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "object" +version = "0.36.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.52.6", +] + +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pin-project-lite" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der", + "pkcs8", + "spki", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy 0.8.24", +] + +[[package]] +name = "proc-macro2" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", + "zerocopy 0.8.24", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.15", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.2", +] + +[[package]] +name = "recoverable-spawn" +version = "3.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcc61deaa201c349799f432212c2fdbd81f0587ba6cd10eed29c86cf207fe477" +dependencies = [ + "once_cell", + "tokio", +] + +[[package]] +name = "recoverable-thread-pool" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edb0896f8322a96307d443bc472bbac0f80f2df18ce6967e5d0952c0e11203ff" +dependencies = [ + "lombok-macros", + "recoverable-spawn", + "tokio", +] + +[[package]] +name = "redox_syscall" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" +dependencies = [ + "bitflags", +] + +[[package]] +name = "ref-cast" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "rsa" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" +dependencies = [ + "const-oid", + "digest", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core 0.6.4", + "signature", + "spki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustix" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96" +dependencies = [ + "bitflags", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.59.0", +] + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "serde" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-xml-rs" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb3aa78ecda1ebc9ec9847d5d3aba7d618823446a049ba2491940506da6e2782" +dependencies = [ + "log", + "serde", + "thiserror 1.0.69", + "xml-rs", +] + +[[package]] +name = "serde_derive" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.140" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "server-manager" +version = "3.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59a91c52599e0a322858a971d3111ceed3cbb265eb90469473f10cba416b791e" +dependencies = [ + "tokio", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +dependencies = [ + "libc", +] + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core 0.6.4", +] + +[[package]] +name = "simd-json" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10b5602e4f1f7d358956f94cac1eff59220f34cf9e26d49f5fde5acef851cbed" +dependencies = [ + "getrandom 0.3.2", + "halfbrown", + "ref-cast", + "serde", + "serde_json", + "simdutf8", + "value-trait", +] + +[[package]] +name = "simdutf8" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" +dependencies = [ + "serde", +] + +[[package]] +name = "socket2" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "sqlx" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4410e73b3c0d8442c5f99b425d7a435b5ee0ae4167b3196771dd3f7a01be745f" +dependencies = [ + "sqlx-core", + "sqlx-macros", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", +] + +[[package]] +name = "sqlx-core" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a007b6936676aa9ab40207cde35daab0a04b823be8ae004368c0793b96a61e0" +dependencies = [ + "bytes", + "crc", + "crossbeam-queue", + "either", + "event-listener", + "futures-core", + "futures-intrusive", + "futures-io", + "futures-util", + "hashbrown 0.15.2", + "hashlink", + "indexmap", + "log", + "memchr", + "once_cell", + "percent-encoding", + "serde", + "serde_json", + "sha2", + "smallvec", + "thiserror 2.0.12", + "tokio", + "tokio-stream", + "tracing", + "url", +] + +[[package]] +name = "sqlx-macros" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3112e2ad78643fef903618d78cf0aec1cb3134b019730edb039b69eaf531f310" +dependencies = [ + "proc-macro2", + "quote", + "sqlx-core", + "sqlx-macros-core", + "syn", +] + +[[package]] +name = "sqlx-macros-core" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e9f90acc5ab146a99bf5061a7eb4976b573f560bc898ef3bf8435448dd5e7ad" +dependencies = [ + "dotenvy", + "either", + "heck", + "hex", + "once_cell", + "proc-macro2", + "quote", + "serde", + "serde_json", + "sha2", + "sqlx-core", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", + "syn", + "tempfile", + "tokio", + "url", +] + +[[package]] +name = "sqlx-mysql" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4560278f0e00ce64938540546f59f590d60beee33fffbd3b9cd47851e5fff233" +dependencies = [ + "atoi", + "base64", + "bitflags", + "byteorder", + "bytes", + "crc", + "digest", + "dotenvy", + "either", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "generic-array", + "hex", + "hkdf", + "hmac", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "percent-encoding", + "rand 0.8.5", + "rsa", + "serde", + "sha1", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror 2.0.12", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-postgres" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5b98a57f363ed6764d5b3a12bfedf62f07aa16e1856a7ddc2a0bb190a959613" +dependencies = [ + "atoi", + "base64", + "bitflags", + "byteorder", + "crc", + "dotenvy", + "etcetera", + "futures-channel", + "futures-core", + "futures-util", + "hex", + "hkdf", + "hmac", + "home", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "rand 0.8.5", + "serde", + "serde_json", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror 2.0.12", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-sqlite" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f85ca71d3a5b24e64e1d08dd8fe36c6c95c339a896cc33068148906784620540" +dependencies = [ + "atoi", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "libsqlite3-sys", + "log", + "percent-encoding", + "serde", + "serde_urlencoded", + "sqlx-core", + "tracing", + "url", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "std-macro-extensions" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18041dd0553c6b667fdb69c22643e977473d070c88d1a220ec4c2536e6c9eb6d" + +[[package]] +name = "stringprep" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", + "unicode-properties", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "syn" +version = "2.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tempfile" +version = "3.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" +dependencies = [ + "fastrand", + "getrandom 0.3.2", + "once_cell", + "rustix", + "windows-sys 0.59.0", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl 2.0.12", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.44.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.52.0", +] + +[[package]] +name = "tokio-macros" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-stream" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tracing" +version = "0.1.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tracing-core" +version = "0.1.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +dependencies = [ + "once_cell", +] + +[[package]] +name = "twox-hash" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7b17f197b3050ba473acf9181f7b1d3b66d1cf7356c6cc57886662276e65908" +dependencies = [ + "rand 0.8.5", +] + +[[package]] +name = "typenum" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" + +[[package]] +name = "unicode-bidi" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + +[[package]] +name = "unicode-normalization" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-properties" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" + +[[package]] +name = "url" +version = "2.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "urlencoding" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" + +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "value-trait" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0508fce11ad19e0aab49ce20b6bec7f8f82902ded31df1c9fc61b90f0eb396b8" +dependencies = [ + "float-cmp", + "halfbrown", + "itoa", + "ryu", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + +[[package]] +name = "wasite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" + +[[package]] +name = "wasm-bindgen" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +dependencies = [ + "cfg-if", + "once_cell", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +dependencies = [ + "bumpalo", + "log", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "whoami" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7" +dependencies = [ + "redox_syscall", + "wasite", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags", +] + +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + +[[package]] +name = "xml-rs" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5b940ebc25896e71dd073bad2dbaa2abfe97b0a391415e22ad1326d9c54e3c4" + +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "zerocopy-derive 0.7.35", +] + +[[package]] +name = "zerocopy" +version = "0.8.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" +dependencies = [ + "zerocopy-derive 0.8.24", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 66cbc75cbb8..8c45965084c 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,11 +18,11 @@ exclude = [ ] [dependencies] -hyperlane = "=4.65.0" -num_cpus = "=1.16.0" -rand = "=0.9.0" -serde = "=1.0.219" -sqlx = { version = "=0.8.3", features = ["runtime-tokio", "postgres"] } +hyperlane = "4.67.0" +num_cpus = "1.16.0" +rand = "0.9.0" +serde = "1.0.219" +sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } [profile.dev] incremental = false From 16d8137fbe99d3155ee32cc68dd14d4fc0e0bdd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 6 Apr 2025 20:19:16 +0800 Subject: [PATCH 124/260] lock: toml --- frameworks/Rust/hyperlane/Cargo.lock | 8 ++++---- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index eee47a36441..02b955c01a5 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -655,9 +655,9 @@ checksum = "711a0d020705f9eca6b58b4f23b6e815ecdafb6a8deeadd8ee6f49164b24e0c9" [[package]] name = "http-type" -version = "3.61.1" +version = "3.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa58e4a32c839ccb2aba4cc0bbd5e2a8baa3699dc709f8e419ab342c01ffaafd" +checksum = "6ebd70871ed728abc4ec31ec2044bb2d31382a371586a780ce2647049bc10d64" dependencies = [ "ahash", "dashmap", @@ -682,9 +682,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.67.0" +version = "4.73.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8956c17a0b4a4bdd4227b66fdc4fb8a1a8ab6e3ea215b6fb46f88dadf9fb2996" +checksum = "d8420e88bd802d1a9bbca1a26c29aae3a96d94b55bd14f260a647f0a4a577f7b" dependencies = [ "async-func", "clonelicious", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 8c45965084c..39e5d4c05cb 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.67.0" +hyperlane = "4.73.0" num_cpus = "1.16.0" rand = "0.9.0" serde = "1.0.219" From 9d35c7f92ba6de712e9113e3ae0e6d0bc32a1d58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 6 Apr 2025 20:31:36 +0800 Subject: [PATCH 125/260] lock: toml --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 02b955c01a5..21ecb290aa5 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -682,9 +682,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.73.0" +version = "4.74.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8420e88bd802d1a9bbca1a26c29aae3a96d94b55bd14f260a647f0a4a577f7b" +checksum = "e1a00c953c165e339ccc09e8b14dbb2f483a8df6b14347c1617d70138448a4e5" dependencies = [ "async-func", "clonelicious", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 39e5d4c05cb..51c7d3dbaf2 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.73.0" +hyperlane = "4.74.0" num_cpus = "1.16.0" rand = "0.9.0" serde = "1.0.219" From fd7338d5a220f0547121d8ec046557ab5bf604b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 6 Apr 2025 20:54:44 +0800 Subject: [PATCH 126/260] lock: toml --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 21ecb290aa5..865c5b5faa6 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -682,9 +682,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.74.0" +version = "4.75.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1a00c953c165e339ccc09e8b14dbb2f483a8df6b14347c1617d70138448a4e5" +checksum = "3b546478b1160ba94edfe74a32ca1c4b54b718a7a475db3e04dc12dec6f0ae81" dependencies = [ "async-func", "clonelicious", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 51c7d3dbaf2..b550e2906cc 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.74.0" +hyperlane = "4.75.0" num_cpus = "1.16.0" rand = "0.9.0" serde = "1.0.219" From 368cd4875f1d78354ce585d8692531acfbae3772 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 6 Apr 2025 22:44:21 +0800 Subject: [PATCH 127/260] lock: toml --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 865c5b5faa6..a3e9146c4d5 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -682,9 +682,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.75.0" +version = "4.76.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b546478b1160ba94edfe74a32ca1c4b54b718a7a475db3e04dc12dec6f0ae81" +checksum = "52c94b89b2a24858b366fe080f9ed705948700cefda49e567ee2acba1b96fb01" dependencies = [ "async-func", "clonelicious", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index b550e2906cc..6fb9b417842 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.75.0" +hyperlane = "4.76.0" num_cpus = "1.16.0" rand = "0.9.0" serde = "1.0.219" From d4b422a3b710fa8ef751eca61f1e6854e952bf75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 6 Apr 2025 23:15:04 +0800 Subject: [PATCH 128/260] lock: toml --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index a3e9146c4d5..7d463f2e48a 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -682,9 +682,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.76.0" +version = "4.77.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52c94b89b2a24858b366fe080f9ed705948700cefda49e567ee2acba1b96fb01" +checksum = "30d05f78e4b2f883f81ace0a2569e78b565739643970157d9ff16b832ae1196e" dependencies = [ "async-func", "clonelicious", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 6fb9b417842..c536f5a2ec6 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.76.0" +hyperlane = "4.77.0" num_cpus = "1.16.0" rand = "0.9.0" serde = "1.0.219" From e5832b62af86eb31fb4b3b07806db63595cd5a62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 13 Apr 2025 16:58:12 +0800 Subject: [PATCH 129/260] lock: toml --- frameworks/Rust/hyperlane/Cargo.lock | 59 ++++++++++--------- frameworks/Rust/hyperlane/Cargo.toml | 2 +- .../Rust/hyperlane/src/request_middleware.rs | 2 +- 3 files changed, 34 insertions(+), 29 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 7d463f2e48a..2bcab0ac31b 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -173,11 +173,11 @@ checksum = "fc3dfae702af156917c65f4ccc70687088331f0b694e5e687453e4d68a16b496" [[package]] name = "color-output" -version = "6.5.5" +version = "6.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5427d1c209887c8f2e528a64e0849a517fd14fe74d54904af57cb9446cf20b4" +checksum = "74d465b5dc60106412924964948f7e5c0c1f023e6b45fa451aad4110480bd750" dependencies = [ - "hyperlane-time", + "hyperlane-time 0.4.0", ] [[package]] @@ -362,9 +362,9 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "file-operation" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66e0c123d53cd593ab9a38d5078c8483e890259dfec47bd453dfc09e6c052aca" +checksum = "ef3359808cbde3797c90abf4faed2f559acc51b6cefb384583e5fe0e62945119" dependencies = [ "tokio", ] @@ -638,9 +638,9 @@ dependencies = [ [[package]] name = "http-compress" -version = "2.11.1" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "def62accac840ecbddc4170585171192f4b0cf879fb4dc4e454699f476feff12" +checksum = "dce740ff69923dba33591c2c625bb49ccc098264c19e72d004b6fecca7c7d7d7" dependencies = [ "brotli", "flate2", @@ -649,15 +649,15 @@ dependencies = [ [[package]] name = "http-constant" -version = "1.40.0" +version = "1.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711a0d020705f9eca6b58b4f23b6e815ecdafb6a8deeadd8ee6f49164b24e0c9" +checksum = "57ace837794d479042088fc984d1d5f897748ca30722754d9f7e14963e9a38a0" [[package]] name = "http-type" -version = "3.61.2" +version = "3.62.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ebd70871ed728abc4ec31ec2044bb2d31382a371586a780ce2647049bc10d64" +checksum = "bbfa4386de43ead111f3225469d75504bbc1cb09e9d6233ed5768fb3704326a3" dependencies = [ "ahash", "dashmap", @@ -682,9 +682,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.77.0" +version = "4.83.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d05f78e4b2f883f81ace0a2569e78b565739643970157d9ff16b832ae1196e" +checksum = "ed66b23432d998820000a10d1fef373d8aed6c25d2bd29cbe10cab4399c5173d" dependencies = [ "async-func", "clonelicious", @@ -692,7 +692,6 @@ dependencies = [ "file-operation", "http-type", "hyperlane-log", - "hyperlane-time", "recoverable-spawn", "recoverable-thread-pool", "server-manager", @@ -700,21 +699,27 @@ dependencies = [ [[package]] name = "hyperlane-log" -version = "1.11.2" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15882faec87a44fc4285b5b5f0324c3b853dbc3cd2cfd4942ada9ba05828e0ee" +checksum = "caf0482aced2eb7960f268032c44327a3234eb3eea4ef6c80680e1ef83a94535" dependencies = [ "file-operation", - "hyperlane-time", + "hyperlane-time 0.5.0", "lombok-macros", "tokio", ] [[package]] name = "hyperlane-time" -version = "0.2.1" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6aa55a670a0db8677da642e02e3bd61d4fca3765b9d943f9429e4b0e5c5fd7e5" + +[[package]] +name = "hyperlane-time" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4737d903a4e4ed8c82c13d4878faebc117e06bd3386d7002bad4347558209de" +checksum = "075b6f8b97160e2af0a15d047f189c537939c824e9f96762dec226fd2f62a2ab" [[package]] name = "hyperlane_techempower" @@ -953,9 +958,9 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "lombok-macros" -version = "1.9.6" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff7e8bfea5ff4ba05d8e287c4459438454d86face7b93552b43c51790481a42" +checksum = "f7c4d9a6dbaf4cdb37d7b148e86ca3aa688b499eff0fb44ea566d9770fb28451" dependencies = [ "proc-macro2", "quote", @@ -1258,9 +1263,9 @@ dependencies = [ [[package]] name = "recoverable-thread-pool" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edb0896f8322a96307d443bc472bbac0f80f2df18ce6967e5d0952c0e11203ff" +checksum = "1c492038cf040045396f083da49acefb762bb82739431e54dfd224a18d34bbb9" dependencies = [ "lombok-macros", "recoverable-spawn", @@ -1405,9 +1410,9 @@ dependencies = [ [[package]] name = "server-manager" -version = "3.1.3" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59a91c52599e0a322858a971d3111ceed3cbb265eb90469473f10cba416b791e" +checksum = "f91c4f62e3f523a86b32faa645e4798300df473eab061651af180abbf4c7bb0e" dependencies = [ "tokio", ] @@ -1716,9 +1721,9 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "std-macro-extensions" -version = "0.22.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18041dd0553c6b667fdb69c22643e977473d070c88d1a220ec4c2536e6c9eb6d" +checksum = "a607e0efa86ea0eaa1985e254fd8412d8d2d2aa5e46af96b67a6b188677dcbeb" [[package]] name = "stringprep" diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index c536f5a2ec6..bad041365b6 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.77.0" +hyperlane = "4.83.0" num_cpus = "1.16.0" rand = "0.9.0" serde = "1.0.219" diff --git a/frameworks/Rust/hyperlane/src/request_middleware.rs b/frameworks/Rust/hyperlane/src/request_middleware.rs index 8b658d6207e..d2da9d540f9 100644 --- a/frameworks/Rust/hyperlane/src/request_middleware.rs +++ b/frameworks/Rust/hyperlane/src/request_middleware.rs @@ -8,7 +8,7 @@ pub async fn request(ctx: Context) { .await .set_response_header(SERVER, HYPERLANE) .await - .set_response_header(DATE, current_date_gmt()) + .set_response_header(DATE, gmt()) .await .set_response_status_code(200) .await; From 0c3d1a7bd2e9d9481bd5a9ed028cf7f4a7d8f8af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 14 Apr 2025 08:47:15 +0800 Subject: [PATCH 130/260] lock: toml --- frameworks/Rust/hyperlane/Cargo.lock | 12 ++++++------ frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 2bcab0ac31b..d32d72d8a04 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -649,15 +649,15 @@ dependencies = [ [[package]] name = "http-constant" -version = "1.41.0" +version = "1.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57ace837794d479042088fc984d1d5f897748ca30722754d9f7e14963e9a38a0" +checksum = "c978c76917568ef84ce5020d6b1fa49ce74a4dd65bc290b93b1355a81aebdb9e" [[package]] name = "http-type" -version = "3.62.0" +version = "3.63.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbfa4386de43ead111f3225469d75504bbc1cb09e9d6233ed5768fb3704326a3" +checksum = "b636cec6e80b206725f9bf79c36ebccbee37ead35fdbca1b7583ee99f495a602" dependencies = [ "ahash", "dashmap", @@ -682,9 +682,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.83.0" +version = "4.84.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed66b23432d998820000a10d1fef373d8aed6c25d2bd29cbe10cab4399c5173d" +checksum = "65f71c235dd571f014fc5426a30f9f4ba42cf341007e4dc2797eec75da16c36d" dependencies = [ "async-func", "clonelicious", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index bad041365b6..16838acbca6 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.83.0" +hyperlane = "4.84.0" num_cpus = "1.16.0" rand = "0.9.0" serde = "1.0.219" From 3bcb9bfdac008ca8b0f14bf8ad223932cdea05d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 15 Apr 2025 08:40:56 +0800 Subject: [PATCH 131/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 4 +-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- frameworks/Rust/hyperlane/src/constant.rs | 32 +++++++++++------------ 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index d32d72d8a04..575e536eb69 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -682,9 +682,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.84.0" +version = "4.84.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65f71c235dd571f014fc5426a30f9f4ba42cf341007e4dc2797eec75da16c36d" +checksum = "f8cf4490e2b7b82178a1b187b14ad166e4b4ed63742bf528112f7cb196650e33" dependencies = [ "async-func", "clonelicious", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 16838acbca6..68a872164ab 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.84.0" +hyperlane = "4.84.1" num_cpus = "1.16.0" rand = "0.9.0" serde = "1.0.219" diff --git a/frameworks/Rust/hyperlane/src/constant.rs b/frameworks/Rust/hyperlane/src/constant.rs index 3c09d6f416a..b1c87eaefe2 100644 --- a/frameworks/Rust/hyperlane/src/constant.rs +++ b/frameworks/Rust/hyperlane/src/constant.rs @@ -1,16 +1,16 @@ -pub static RESPONSEDATA_STR: &str = "Hello, World!"; -pub static RESPONSEDATA_BIN: &[u8] = b"Hello, World!"; -pub static DATABASE_TYPE: &str = "postgres"; -pub static DATABASE_HOST: &str = "tfb-database"; -pub static DATABASE_USER_NAME: &str = "benchmarkdbuser"; -pub static DATABASE_USER_PASSWORD: &str = "benchmarkdbpass"; -pub static DATABASE_PORT: usize = 5_432; -pub static DATABASE_NAME: &str = "hello_world"; -pub static TABLE_NAME_WORLD: &str = "World"; -pub static TABLE_NAME_FORTUNE: &str = "Fortune"; -pub static ROW_LIMIT: i32 = 500; -pub static RANDOM_MAX: i32 = 10_000; -pub static RANDOM_MAX_ADD_ONE: u32 = 10_001; -pub static KEY_ID: &str = "id"; -pub static KEY_RANDOM_NUMBER: &str = "randomnumber"; -pub static KEY_MESSAGE: &str = "message"; +pub const RESPONSEDATA_STR: &str = "Hello, World!"; +pub const RESPONSEDATA_BIN: &[u8] = b"Hello, World!"; +pub const DATABASE_TYPE: &str = "postgres"; +pub const DATABASE_HOST: &str = "tfb-database"; +pub const DATABASE_USER_NAME: &str = "benchmarkdbuser"; +pub const DATABASE_USER_PASSWORD: &str = "benchmarkdbpass"; +pub const DATABASE_PORT: usize = 5_432; +pub const DATABASE_NAME: &str = "hello_world"; +pub const TABLE_NAME_WORLD: &str = "World"; +pub const TABLE_NAME_FORTUNE: &str = "Fortune"; +pub const ROW_LIMIT: i32 = 500; +pub const RANDOM_MAX: i32 = 10_000; +pub const RANDOM_MAX_ADD_ONE: u32 = 10_001; +pub const KEY_ID: &str = "id"; +pub const KEY_RANDOM_NUMBER: &str = "randomnumber"; +pub const KEY_MESSAGE: &str = "message"; From 267b43c83b8de8d8b40ca24b03d9eacc04d72141 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 15 Apr 2025 08:43:08 +0800 Subject: [PATCH 132/260] Merge remote-tracking branch 'upstream/master' --- frameworks/Rust/hyperlane/Cargo.lock | 68 ++++++++++++++-------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 946df332e83..8638f38afd5 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -174,10 +174,8 @@ checksum = "fc3dfae702af156917c65f4ccc70687088331f0b694e5e687453e4d68a16b496" [[package]] name = "color-output" version = "6.6.0" -version = "6.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74d465b5dc60106412924964948f7e5c0c1f023e6b45fa451aad4110480bd750" -checksum = "74d465b5dc60106412924964948f7e5c0c1f023e6b45fa451aad4110480bd750" dependencies = [ "hyperlane-time 0.4.0", ] @@ -326,9 +324,9 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e" dependencies = [ "libc", "windows-sys 0.59.0", @@ -875,9 +873,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", "hashbrown 0.15.2", @@ -932,9 +930,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" +checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" [[package]] name = "litemap" @@ -987,9 +985,9 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "miniz_oxide" -version = "0.8.5" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" +checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" dependencies = [ "adler2", ] @@ -1276,9 +1274,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.10" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" +checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3" dependencies = [ "bitflags", ] @@ -1331,9 +1329,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustix" -version = "1.0.3" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96" +checksum = "d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf" dependencies = [ "bitflags", "errno", @@ -1492,18 +1490,18 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" +checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" dependencies = [ "serde", ] [[package]] name = "socket2" -version = "0.5.8" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" dependencies = [ "libc", "windows-sys 0.52.0", @@ -1530,9 +1528,9 @@ dependencies = [ [[package]] name = "sqlx" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4410e73b3c0d8442c5f99b425d7a435b5ee0ae4167b3196771dd3f7a01be745f" +checksum = "14e22987355fbf8cfb813a0cf8cd97b1b4ec834b94dbd759a9e8679d41fabe83" dependencies = [ "sqlx-core", "sqlx-macros", @@ -1543,10 +1541,11 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a007b6936676aa9ab40207cde35daab0a04b823be8ae004368c0793b96a61e0" +checksum = "55c4720d7d4cd3d5b00f61d03751c685ad09c33ae8290c8a2c11335e0604300b" dependencies = [ + "base64", "bytes", "crc", "crossbeam-queue", @@ -1576,9 +1575,9 @@ dependencies = [ [[package]] name = "sqlx-macros" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3112e2ad78643fef903618d78cf0aec1cb3134b019730edb039b69eaf531f310" +checksum = "175147fcb75f353ac7675509bc58abb2cb291caf0fd24a3623b8f7e3eb0a754b" dependencies = [ "proc-macro2", "quote", @@ -1589,9 +1588,9 @@ dependencies = [ [[package]] name = "sqlx-macros-core" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e9f90acc5ab146a99bf5061a7eb4976b573f560bc898ef3bf8435448dd5e7ad" +checksum = "1cde983058e53bfa75998e1982086c5efe3c370f3250bf0357e344fa3352e32b" dependencies = [ "dotenvy", "either", @@ -1615,9 +1614,9 @@ dependencies = [ [[package]] name = "sqlx-mysql" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4560278f0e00ce64938540546f59f590d60beee33fffbd3b9cd47851e5fff233" +checksum = "847d2e5393a4f39e47e4f36cab419709bc2b83cbe4223c60e86e1471655be333" dependencies = [ "atoi", "base64", @@ -1657,9 +1656,9 @@ dependencies = [ [[package]] name = "sqlx-postgres" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5b98a57f363ed6764d5b3a12bfedf62f07aa16e1856a7ddc2a0bb190a959613" +checksum = "cc35947a541b9e0a2e3d85da444f1c4137c13040267141b208395a0d0ca4659f" dependencies = [ "atoi", "base64", @@ -1694,9 +1693,9 @@ dependencies = [ [[package]] name = "sqlx-sqlite" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f85ca71d3a5b24e64e1d08dd8fe36c6c95c339a896cc33068148906784620540" +checksum = "6c48291dac4e5ed32da0927a0b981788be65674aeb62666d19873ab4289febde" dependencies = [ "atoi", "flume", @@ -1711,6 +1710,7 @@ dependencies = [ "serde", "serde_urlencoded", "sqlx-core", + "thiserror 2.0.12", "tracing", "url", ] @@ -2270,9 +2270,9 @@ checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" [[package]] name = "xml-rs" -version = "0.8.25" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5b940ebc25896e71dd073bad2dbaa2abfe97b0a391415e22ad1326d9c54e3c4" +checksum = "a62ce76d9b56901b19a74f19431b0d8b3bc7ca4ad685a746dfd78ca8f4fc6bda" [[package]] name = "yoke" From 8beb35229d1bedf03ab799c66f07acd4334f1174 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 15 Apr 2025 09:17:33 +0800 Subject: [PATCH 133/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 8 ++++---- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 8638f38afd5..f28649d168b 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -655,9 +655,9 @@ checksum = "c978c76917568ef84ce5020d6b1fa49ce74a4dd65bc290b93b1355a81aebdb9e" [[package]] name = "http-type" -version = "3.63.0" +version = "3.64.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b636cec6e80b206725f9bf79c36ebccbee37ead35fdbca1b7583ee99f495a602" +checksum = "228db23663f214e42497ed0fc66ddab4c7fea8039998823e49d516f559a92e5f" dependencies = [ "ahash", "dashmap", @@ -682,9 +682,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.84.1" +version = "4.85.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cf4490e2b7b82178a1b187b14ad166e4b4ed63742bf528112f7cb196650e33" +checksum = "c1b2349672e122d265d9fa803176781bfaaecc9ef629ce573c5a4ca0640b1684" dependencies = [ "async-func", "clonelicious", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 68a872164ab..26c33e31239 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.84.1" +hyperlane = "4.85.0" num_cpus = "1.16.0" rand = "0.9.0" serde = "1.0.219" From e9ff20b7d7e3e76923add56670485a7704e4aa88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 15 Apr 2025 09:32:58 +0800 Subject: [PATCH 134/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index f28649d168b..c7eaabd31a8 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -682,9 +682,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.85.0" +version = "4.86.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1b2349672e122d265d9fa803176781bfaaecc9ef629ce573c5a4ca0640b1684" +checksum = "97c0552d7d2f270ca1fec64766617809aa82b86ad4424d8c31515ed79d2f121e" dependencies = [ "async-func", "clonelicious", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 26c33e31239..cdfc5917479 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.85.0" +hyperlane = "4.86.0" num_cpus = "1.16.0" rand = "0.9.0" serde = "1.0.219" From 59bad9931129e9ce895673c0c57bb490d87a7876 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 15 Apr 2025 21:44:59 +0800 Subject: [PATCH 135/260] feat: update --- frameworks/Rust/hyperlane/src/main.rs | 2 -- .../Rust/hyperlane/src/request_middleware.rs | 2 -- .../Rust/hyperlane/src/response_middleware.rs | 5 ----- frameworks/Rust/hyperlane/src/route.rs | 17 +++++++++-------- frameworks/Rust/hyperlane/src/server.rs | 7 +++---- 5 files changed, 12 insertions(+), 21 deletions(-) delete mode 100644 frameworks/Rust/hyperlane/src/response_middleware.rs diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 0b7ce0a26de..41f16e168bd 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -2,7 +2,6 @@ pub(crate) mod constant; pub(crate) mod db; pub(crate) mod lazy; pub(crate) mod request_middleware; -pub(crate) mod response_middleware; pub(crate) mod route; pub(crate) mod server; pub(crate) mod r#type; @@ -21,7 +20,6 @@ pub(crate) use hyperlane::{ pub(crate) use lazy::*; pub(crate) use rand::{Rng, SeedableRng, rng, rngs::SmallRng}; pub(crate) use request_middleware::*; -pub(crate) use response_middleware::*; pub(crate) use route::*; pub(crate) use server::*; pub(crate) use sqlx::{ diff --git a/frameworks/Rust/hyperlane/src/request_middleware.rs b/frameworks/Rust/hyperlane/src/request_middleware.rs index d2da9d540f9..592dbb89170 100644 --- a/frameworks/Rust/hyperlane/src/request_middleware.rs +++ b/frameworks/Rust/hyperlane/src/request_middleware.rs @@ -9,7 +9,5 @@ pub async fn request(ctx: Context) { .set_response_header(SERVER, HYPERLANE) .await .set_response_header(DATE, gmt()) - .await - .set_response_status_code(200) .await; } diff --git a/frameworks/Rust/hyperlane/src/response_middleware.rs b/frameworks/Rust/hyperlane/src/response_middleware.rs deleted file mode 100644 index 85e8f422ebf..00000000000 --- a/frameworks/Rust/hyperlane/src/response_middleware.rs +++ /dev/null @@ -1,5 +0,0 @@ -use crate::*; - -pub async fn response(ctx: Context) { - let _ = ctx.send().await; -} diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 8ed6ec4e460..b92ae44b881 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -5,7 +5,7 @@ pub async fn json(ctx: Context) { "message": RESPONSEDATA_STR }); let _ = ctx - .set_response_body(serde_json::to_string(&json).unwrap_or_default()) + .send_response(200, serde_json::to_string(&json).unwrap_or_default()) .await; } @@ -13,7 +13,7 @@ pub async fn plaintext(ctx: Context) { let _ = ctx .set_response_header(CONTENT_TYPE, TEXT_PLAIN) .await - .set_response_body(RESPONSEDATA_BIN) + .send_response(200, RESPONSEDATA_BIN) .await; } @@ -21,7 +21,7 @@ pub async fn db(ctx: Context) { let db_connection: &DbPoolConnection = get_db_connection(); let query_row: QueryRow = random_world_row(db_connection).await; let _ = ctx - .set_response_body(serde_json::to_string(&query_row).unwrap_or_default()) + .send_response(200, serde_json::to_string(&query_row).unwrap_or_default()) .await; } @@ -36,7 +36,7 @@ pub async fn queries(ctx: Context) { let db_pool: &DbPoolConnection = get_db_connection(); let data: Vec = get_some_row_id(queries, db_pool).await; let _ = ctx - .set_response_body(serde_json::to_string(&data).unwrap_or_default()) + .send_response(200, serde_json::to_string(&data).unwrap_or_default()) .await; } @@ -56,9 +56,10 @@ 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_header(CONTENT_TYPE, content_type_charset(TEXT_HTML, UTF8)) + let _ = ctx + .set_response_header(CONTENT_TYPE, content_type_charset(TEXT_HTML, UTF8)) .await - .set_response_body(res) + .send_response(200, res) .await; } @@ -72,7 +73,7 @@ pub async fn updates(ctx: Context) { .max(1); let res: Vec = update_world_rows(queries).await; let _ = ctx - .set_response_body(serde_json::to_string(&res).unwrap_or_default()) + .send_response(200, serde_json::to_string(&res).unwrap_or_default()) .await; } @@ -86,6 +87,6 @@ pub async fn cached_queries(ctx: Context) { .max(1); let res: Vec = CACHE.iter().take(count as usize).cloned().collect(); let _ = ctx - .set_response_body(serde_json::to_string(&res).unwrap_or_default()) + .send_response(200, serde_json::to_string(&res).unwrap_or_default()) .await; } diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 72883143580..14116c2e7ce 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -21,8 +21,9 @@ async fn init_server() { server.disable_log().await; server.disable_inner_log().await; server.disable_inner_print().await; - server.http_line_buffer_size(512).await; - server.websocket_buffer_size(512).await; + server.http_line_buffer_size(256).await; + server.websocket_buffer_size(256).await; + server.request_middleware(request).await; server.route("/plaintext", plaintext).await; server.route("/json", json).await; server.route("/cached-quer", cached_queries).await; @@ -30,8 +31,6 @@ async fn init_server() { server.route("/query", queries).await; server.route("/fortunes", fortunes).await; server.route("/upda", updates).await; - server.request_middleware(request).await; - server.response_middleware(response).await; server.listen().await.unwrap(); } From 7338abf4eb1a076f7a99c0a5f2179244fb7bba9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 15 Apr 2025 21:58:39 +0800 Subject: [PATCH 136/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 1 - frameworks/Rust/hyperlane/Cargo.toml | 1 - frameworks/Rust/hyperlane/src/server.rs | 13 ++++++++----- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index c7eaabd31a8..98d910ea035 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -726,7 +726,6 @@ name = "hyperlane_techempower" version = "0.0.1" dependencies = [ "hyperlane", - "num_cpus", "rand 0.9.0", "serde", "sqlx", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index cdfc5917479..f274f2108d5 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -19,7 +19,6 @@ exclude = [ [dependencies] hyperlane = "4.86.0" -num_cpus = "1.16.0" rand = "0.9.0" serde = "1.0.219" sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 14116c2e7ce..b80bed424e1 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -3,11 +3,14 @@ use tokio::runtime::{Builder, Runtime}; fn runtime() -> Runtime { Builder::new_multi_thread() - .worker_threads(get_thread_count()) - .thread_stack_size(2097152) - .max_blocking_threads(5120) - .max_io_events_per_tick(5120) - .enable_all() + .worker_threads(num_cpus::get() << 1) + .thread_stack_size(1_048_576) + .max_blocking_threads(1024) + .max_io_events_per_tick(65_536) + .enable_io() + .enable_time() + .global_queue_interval(61) + .event_interval(1) .build() .unwrap() } From 1c20a4517101fd91ffff027149350a5b1bf1a4e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 15 Apr 2025 22:14:45 +0800 Subject: [PATCH 137/260] feat: update --- frameworks/Rust/hyperlane/src/db.rs | 5 ++--- frameworks/Rust/hyperlane/src/server.rs | 7 +++---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 92d7253438d..7dc93cc3ba3 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -100,10 +100,9 @@ pub async fn connection_db() -> DbPoolConnection { DATABASE_NAME ), }; - let pool_size: u32 = num_cpus::get() as u32; let pool: DbPoolConnection = PgPoolOptions::new() - .max_connections(100) - .min_connections(pool_size) + .max_connections(1000) + .min_connections(512) .max_lifetime(None) .test_before_acquire(false) .idle_timeout(None) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index b80bed424e1..dca2e63d5d8 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -3,12 +3,11 @@ use tokio::runtime::{Builder, Runtime}; fn runtime() -> Runtime { Builder::new_multi_thread() - .worker_threads(num_cpus::get() << 1) + .worker_threads(num_cpus::get() << 2) .thread_stack_size(1_048_576) - .max_blocking_threads(1024) + .max_blocking_threads(5120) .max_io_events_per_tick(65_536) - .enable_io() - .enable_time() + .enable_all() .global_queue_interval(61) .event_interval(1) .build() From c2ddd89e6f8ef67c241be443fd281894ec1c62b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 15 Apr 2025 22:21:36 +0800 Subject: [PATCH 138/260] feat: update --- frameworks/Rust/hyperlane/src/db.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 7dc93cc3ba3..9e8b8260db9 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -102,7 +102,7 @@ pub async fn connection_db() -> DbPoolConnection { }; let pool: DbPoolConnection = PgPoolOptions::new() .max_connections(1000) - .min_connections(512) + .min_connections(100) .max_lifetime(None) .test_before_acquire(false) .idle_timeout(None) From f23c408f375f6c96d8504b46a28d9ac0d9c981d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 15 Apr 2025 22:24:34 +0800 Subject: [PATCH 139/260] feat: update --- frameworks/Rust/hyperlane/src/server.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index dca2e63d5d8..54a5bd73562 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -8,8 +8,7 @@ fn runtime() -> Runtime { .max_blocking_threads(5120) .max_io_events_per_tick(65_536) .enable_all() - .global_queue_interval(61) - .event_interval(1) + .global_queue_interval(61) .build() .unwrap() } From 6ce25ff6085762acf697e70b03e7a616f96648cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 15 Apr 2025 22:29:24 +0800 Subject: [PATCH 140/260] feat: update --- frameworks/Rust/hyperlane/src/db.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 9e8b8260db9..92d7253438d 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -100,9 +100,10 @@ pub async fn connection_db() -> DbPoolConnection { DATABASE_NAME ), }; + let pool_size: u32 = num_cpus::get() as u32; let pool: DbPoolConnection = PgPoolOptions::new() - .max_connections(1000) - .min_connections(100) + .max_connections(100) + .min_connections(pool_size) .max_lifetime(None) .test_before_acquire(false) .idle_timeout(None) From 74acef288dcee4229e91fd97b09e14098d5436d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 15 Apr 2025 22:30:56 +0800 Subject: [PATCH 141/260] feat: update --- frameworks/Rust/hyperlane/src/server.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 54a5bd73562..01626cce2f3 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -3,12 +3,13 @@ use tokio::runtime::{Builder, Runtime}; fn runtime() -> Runtime { Builder::new_multi_thread() - .worker_threads(num_cpus::get() << 2) + .worker_threads(get_thread_count() << 1) .thread_stack_size(1_048_576) .max_blocking_threads(5120) .max_io_events_per_tick(65_536) .enable_all() - .global_queue_interval(61) + .global_queue_interval(64) + .event_interval(1) .build() .unwrap() } From 1b81b18b4326fbb49aa691cfa5681b31344e8acb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 15 Apr 2025 22:40:01 +0800 Subject: [PATCH 142/260] feat: update --- frameworks/Rust/hyperlane/src/server.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 01626cce2f3..7d9898a9152 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -3,13 +3,13 @@ use tokio::runtime::{Builder, Runtime}; fn runtime() -> Runtime { Builder::new_multi_thread() - .worker_threads(get_thread_count() << 1) + .worker_threads(get_thread_count() << 2) .thread_stack_size(1_048_576) .max_blocking_threads(5120) - .max_io_events_per_tick(65_536) - .enable_all() + .max_io_events_per_tick(5120) .global_queue_interval(64) .event_interval(1) + .enable_all() .build() .unwrap() } From 7a8aaef3178c4de58ea674abcef869a1d3b68e56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 15 Apr 2025 22:45:31 +0800 Subject: [PATCH 143/260] feat: update --- frameworks/Rust/hyperlane/src/server.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 7d9898a9152..8ec2343aebd 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -3,7 +3,7 @@ use tokio::runtime::{Builder, Runtime}; fn runtime() -> Runtime { Builder::new_multi_thread() - .worker_threads(get_thread_count() << 2) + .worker_threads(get_thread_count() << 1) .thread_stack_size(1_048_576) .max_blocking_threads(5120) .max_io_events_per_tick(5120) From f7152b0cf16f695bbf75e275fc754a3832bb8824 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 15 Apr 2025 22:50:57 +0800 Subject: [PATCH 144/260] feat: update --- frameworks/Rust/hyperlane/src/server.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 8ec2343aebd..bf3ceb94098 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -7,8 +7,6 @@ fn runtime() -> Runtime { .thread_stack_size(1_048_576) .max_blocking_threads(5120) .max_io_events_per_tick(5120) - .global_queue_interval(64) - .event_interval(1) .enable_all() .build() .unwrap() From 22dc806c2976aeaae09d05d87ef232a930b67eff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 15 Apr 2025 22:56:01 +0800 Subject: [PATCH 145/260] feat: update --- frameworks/Rust/hyperlane/src/server.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index bf3ceb94098..c26882a7ce5 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -3,7 +3,7 @@ use tokio::runtime::{Builder, Runtime}; fn runtime() -> Runtime { Builder::new_multi_thread() - .worker_threads(get_thread_count() << 1) + .worker_threads(get_thread_count() >> 1) .thread_stack_size(1_048_576) .max_blocking_threads(5120) .max_io_events_per_tick(5120) From 5065334e77694f2b72e3b02e197440806e024235 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 15 Apr 2025 23:05:23 +0800 Subject: [PATCH 146/260] feat: update --- frameworks/Rust/hyperlane/src/{constant.rs => const.rs} | 1 + frameworks/Rust/hyperlane/src/db.rs | 4 ++-- frameworks/Rust/hyperlane/src/main.rs | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) rename frameworks/Rust/hyperlane/src/{constant.rs => const.rs} (94%) diff --git a/frameworks/Rust/hyperlane/src/constant.rs b/frameworks/Rust/hyperlane/src/const.rs similarity index 94% rename from frameworks/Rust/hyperlane/src/constant.rs rename to frameworks/Rust/hyperlane/src/const.rs index b1c87eaefe2..93728efd2e4 100644 --- a/frameworks/Rust/hyperlane/src/constant.rs +++ b/frameworks/Rust/hyperlane/src/const.rs @@ -14,3 +14,4 @@ pub const RANDOM_MAX_ADD_ONE: u32 = 10_001; pub const KEY_ID: &str = "id"; pub const KEY_RANDOM_NUMBER: &str = "randomnumber"; pub const KEY_MESSAGE: &str = "message"; +pub const DB_MAX_CONNECTIONS: u32 = 100; diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 92d7253438d..8a4a6bd81a1 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -100,9 +100,9 @@ pub async fn connection_db() -> DbPoolConnection { DATABASE_NAME ), }; - let pool_size: u32 = num_cpus::get() as u32; + let pool_size: u32 = ((get_thread_count() as u32) << 1).min(DB_MAX_CONNECTIONS); let pool: DbPoolConnection = PgPoolOptions::new() - .max_connections(100) + .max_connections(DB_MAX_CONNECTIONS) .min_connections(pool_size) .max_lifetime(None) .test_before_acquire(false) diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 41f16e168bd..e4b739e7c6a 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -1,4 +1,4 @@ -pub(crate) mod constant; +pub(crate) mod r#const; pub(crate) mod db; pub(crate) mod lazy; pub(crate) mod request_middleware; @@ -7,7 +7,7 @@ pub(crate) mod server; pub(crate) mod r#type; pub(crate) mod utils; -pub(crate) use constant::*; +pub(crate) use r#const::*; pub(crate) use db::*; pub(crate) use hyperlane::{ futures::{executor::block_on, future::join_all}, From 3559f0b5290c02b7da0b1e90ae9fb06a02295e43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 15 Apr 2025 23:12:17 +0800 Subject: [PATCH 147/260] feat: update --- frameworks/Rust/hyperlane/src/db.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 8a4a6bd81a1..bafba28ca6d 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -100,7 +100,7 @@ pub async fn connection_db() -> DbPoolConnection { DATABASE_NAME ), }; - let pool_size: u32 = ((get_thread_count() as u32) << 1).min(DB_MAX_CONNECTIONS); + let pool_size: u32 = (get_thread_count() as u32).min(DB_MAX_CONNECTIONS); let pool: DbPoolConnection = PgPoolOptions::new() .max_connections(DB_MAX_CONNECTIONS) .min_connections(pool_size) From b1b4030a82253b0d9df250e2d4bfd92bdbd80d3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Wed, 16 Apr 2025 08:29:40 +0800 Subject: [PATCH 148/260] feat: update --- frameworks/Rust/hyperlane/src/server.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index c26882a7ce5..88a1f192aa3 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -3,7 +3,7 @@ use tokio::runtime::{Builder, Runtime}; fn runtime() -> Runtime { Builder::new_multi_thread() - .worker_threads(get_thread_count() >> 1) + .worker_threads(get_thread_count() >> 2) .thread_stack_size(1_048_576) .max_blocking_threads(5120) .max_io_events_per_tick(5120) From 90180158a4c3653217d094da2075357a959c44ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Wed, 16 Apr 2025 08:34:47 +0800 Subject: [PATCH 149/260] feat: update --- frameworks/Rust/hyperlane/src/server.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 88a1f192aa3..c26882a7ce5 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -3,7 +3,7 @@ use tokio::runtime::{Builder, Runtime}; fn runtime() -> Runtime { Builder::new_multi_thread() - .worker_threads(get_thread_count() >> 2) + .worker_threads(get_thread_count() >> 1) .thread_stack_size(1_048_576) .max_blocking_threads(5120) .max_io_events_per_tick(5120) From 7f35aa987bd77f9541255762c8f88d8f03a3dbb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 19 Apr 2025 22:36:41 +0800 Subject: [PATCH 150/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 113 +++++++++++++-------------- frameworks/Rust/hyperlane/Cargo.toml | 6 +- 2 files changed, 56 insertions(+), 63 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 98d910ea035..fa16fdacf56 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -133,9 +133,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "4.0.2" +version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37" +checksum = "a334ef7c9e23abf0ce748e8cd309037da93e606ad52eb372e4ce327a0dcfbdfd" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -173,11 +173,11 @@ checksum = "fc3dfae702af156917c65f4ccc70687088331f0b694e5e687453e4d68a16b496" [[package]] name = "color-output" -version = "6.6.0" +version = "6.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d465b5dc60106412924964948f7e5c0c1f023e6b45fa451aad4110480bd750" +checksum = "47a70e27f954a060626fdba6829cdded6c3dae6376d0e03822363114aaead8a8" dependencies = [ - "hyperlane-time 0.4.0", + "hyperlane-time", ] [[package]] @@ -269,9 +269,9 @@ dependencies = [ [[package]] name = "der" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ "const-oid", "pem-rfc7468", @@ -362,9 +362,9 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "file-operation" -version = "0.5.6" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef3359808cbde3797c90abf4faed2f559acc51b6cefb384583e5fe0e62945119" +checksum = "78548b84eac71fe0f185f2169fa960f65af6e49ae2b63fdb729e81cacdf7b5da" dependencies = [ "tokio", ] @@ -638,9 +638,9 @@ dependencies = [ [[package]] name = "http-compress" -version = "2.12.0" +version = "2.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce740ff69923dba33591c2c625bb49ccc098264c19e72d004b6fecca7c7d7d7" +checksum = "c5f7d507f95e723dd293f5c486554ab1e70692ee97c27fc4a493684f54dc6c9a" dependencies = [ "brotli", "flate2", @@ -649,15 +649,15 @@ dependencies = [ [[package]] name = "http-constant" -version = "1.42.0" +version = "1.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c978c76917568ef84ce5020d6b1fa49ce74a4dd65bc290b93b1355a81aebdb9e" +checksum = "1292cbdcf2588d15f8bf14cac381785c11ca7634d6a088cad9eebb5068d2652b" [[package]] name = "http-type" -version = "3.64.0" +version = "3.64.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "228db23663f214e42497ed0fc66ddab4c7fea8039998823e49d516f559a92e5f" +checksum = "d2d8d89138b251e0a91cdaa261885bcfc959986cba2131d448bdc75f2e18c1d0" dependencies = [ "ahash", "dashmap", @@ -682,9 +682,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.86.0" +version = "4.87.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97c0552d7d2f270ca1fec64766617809aa82b86ad4424d8c31515ed79d2f121e" +checksum = "f0867d16811e67ce0cbf86a0c3fd7947934b1d53e2ee533f2d00e75f926636e8" dependencies = [ "async-func", "clonelicious", @@ -699,34 +699,28 @@ dependencies = [ [[package]] name = "hyperlane-log" -version = "1.16.0" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf0482aced2eb7960f268032c44327a3234eb3eea4ef6c80680e1ef83a94535" +checksum = "17a47938bb5388e2428ebbe02098c485c2a596b4aae4cc909320394dede527bb" dependencies = [ "file-operation", - "hyperlane-time 0.5.0", + "hyperlane-time", "lombok-macros", "tokio", ] [[package]] name = "hyperlane-time" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aa55a670a0db8677da642e02e3bd61d4fca3765b9d943f9429e4b0e5c5fd7e5" - -[[package]] -name = "hyperlane-time" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "075b6f8b97160e2af0a15d047f189c537939c824e9f96762dec226fd2f62a2ab" +checksum = "d0f69051b8978d37eb5a3d8f700a39159d40d7646f1aef8d2f3e441279f4dfa1" [[package]] name = "hyperlane_techempower" version = "0.0.1" dependencies = [ "hyperlane", - "rand 0.9.0", + "rand 0.9.1", "serde", "sqlx", ] @@ -907,9 +901,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.171" +version = "0.2.172" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" [[package]] name = "libm" @@ -957,9 +951,9 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "lombok-macros" -version = "1.10.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c4d9a6dbaf4cdb37d7b148e86ca3aa688b499eff0fb44ea566d9770fb28451" +checksum = "3ffb76637e1a834f7ad93d96b8be0bcfa6673f08fdcab6c9fbeabc1cb0e8c379" dependencies = [ "proc-macro2", "quote", @@ -1168,9 +1162,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.94" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] @@ -1203,13 +1197,12 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.3", - "zerocopy 0.8.24", ] [[package]] @@ -1252,9 +1245,9 @@ dependencies = [ [[package]] name = "recoverable-spawn" -version = "3.7.1" +version = "3.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcc61deaa201c349799f432212c2fdbd81f0587ba6cd10eed29c86cf207fe477" +checksum = "57702670d1a6eb7e02bbd6c2fafe3587c42eb2ce4e5012ae8632171aa58c21b6" dependencies = [ "once_cell", "tokio", @@ -1262,9 +1255,9 @@ dependencies = [ [[package]] name = "recoverable-thread-pool" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c492038cf040045396f083da49acefb762bb82739431e54dfd224a18d34bbb9" +checksum = "03a8924916abfed76681374565d505b59b2c8bc17f03e3693be2243c324433ed" dependencies = [ "lombok-macros", "recoverable-spawn", @@ -1409,9 +1402,9 @@ dependencies = [ [[package]] name = "server-manager" -version = "3.2.0" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91c4f62e3f523a86b32faa645e4798300df473eab061651af180abbf4c7bb0e" +checksum = "7be400c8b4c701205cf9415f5463845319fbaeea0964750cb94f830224145d86" dependencies = [ "tokio", ] @@ -1459,9 +1452,9 @@ dependencies = [ [[package]] name = "simd-json" -version = "0.15.0" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10b5602e4f1f7d358956f94cac1eff59220f34cf9e26d49f5fde5acef851cbed" +checksum = "c962f626b54771990066e5435ec8331d1462576cd2d1e62f24076ae014f92112" dependencies = [ "getrandom 0.3.2", "halfbrown", @@ -1527,9 +1520,9 @@ dependencies = [ [[package]] name = "sqlx" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14e22987355fbf8cfb813a0cf8cd97b1b4ec834b94dbd759a9e8679d41fabe83" +checksum = "f3c3a85280daca669cfd3bcb68a337882a8bc57ec882f72c5d13a430613a738e" dependencies = [ "sqlx-core", "sqlx-macros", @@ -1540,9 +1533,9 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55c4720d7d4cd3d5b00f61d03751c685ad09c33ae8290c8a2c11335e0604300b" +checksum = "f743f2a3cea30a58cd479013f75550e879009e3a02f616f18ca699335aa248c3" dependencies = [ "base64", "bytes", @@ -1574,9 +1567,9 @@ dependencies = [ [[package]] name = "sqlx-macros" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "175147fcb75f353ac7675509bc58abb2cb291caf0fd24a3623b8f7e3eb0a754b" +checksum = "7f4200e0fde19834956d4252347c12a083bdcb237d7a1a1446bffd8768417dce" dependencies = [ "proc-macro2", "quote", @@ -1587,9 +1580,9 @@ dependencies = [ [[package]] name = "sqlx-macros-core" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cde983058e53bfa75998e1982086c5efe3c370f3250bf0357e344fa3352e32b" +checksum = "882ceaa29cade31beca7129b6beeb05737f44f82dbe2a9806ecea5a7093d00b7" dependencies = [ "dotenvy", "either", @@ -1613,9 +1606,9 @@ dependencies = [ [[package]] name = "sqlx-mysql" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "847d2e5393a4f39e47e4f36cab419709bc2b83cbe4223c60e86e1471655be333" +checksum = "0afdd3aa7a629683c2d750c2df343025545087081ab5942593a5288855b1b7a7" dependencies = [ "atoi", "base64", @@ -1655,9 +1648,9 @@ dependencies = [ [[package]] name = "sqlx-postgres" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc35947a541b9e0a2e3d85da444f1c4137c13040267141b208395a0d0ca4659f" +checksum = "a0bedbe1bbb5e2615ef347a5e9d8cd7680fb63e77d9dafc0f29be15e53f1ebe6" dependencies = [ "atoi", "base64", @@ -1692,9 +1685,9 @@ dependencies = [ [[package]] name = "sqlx-sqlite" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c48291dac4e5ed32da0927a0b981788be65674aeb62666d19873ab4289febde" +checksum = "c26083e9a520e8eb87a06b12347679b142dc2ea29e6e409f805644a7a979a5bc" dependencies = [ "atoi", "flume", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index f274f2108d5..5d48f6bf24b 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,10 +18,10 @@ exclude = [ ] [dependencies] -hyperlane = "4.86.0" -rand = "0.9.0" +hyperlane = "4.87.3" +rand = "0.9.1" serde = "1.0.219" -sqlx = { version = "0.8.3", features = ["runtime-tokio", "postgres"] } +sqlx = { version = "0.8.5", features = ["runtime-tokio", "postgres"] } [profile.dev] incremental = false From 3be757c1bc0477c87e155e7aef288a180f9d2f0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 19 Apr 2025 22:56:22 +0800 Subject: [PATCH 151/260] feat: update --- frameworks/Rust/hyperlane/Cargo.toml | 7 ++ .../Rust/hyperlane/benchmark_config.json | 94 ++++++++++++++++++- .../hyperlane.cached_query.dockerfile | 15 +++ ...ane.dockerfile => hyperlane.db.dockerfile} | 2 +- .../hyperlane/hyperlane.fortunes.dockerfile | 15 +++ .../Rust/hyperlane/hyperlane.json.dockerfile | 15 +++ .../hyperlane/hyperlane.plaintext.dockerfile | 15 +++ .../Rust/hyperlane/hyperlane.query.dockerfile | 15 +++ .../hyperlane/hyperlane.update.dockerfile | 15 +++ 9 files changed, 190 insertions(+), 3 deletions(-) create mode 100644 frameworks/Rust/hyperlane/hyperlane.cached_query.dockerfile rename frameworks/Rust/hyperlane/{hyperlane.dockerfile => hyperlane.db.dockerfile} (91%) create mode 100644 frameworks/Rust/hyperlane/hyperlane.fortunes.dockerfile create mode 100644 frameworks/Rust/hyperlane/hyperlane.json.dockerfile create mode 100644 frameworks/Rust/hyperlane/hyperlane.plaintext.dockerfile create mode 100644 frameworks/Rust/hyperlane/hyperlane.query.dockerfile create mode 100644 frameworks/Rust/hyperlane/hyperlane.update.dockerfile diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 5d48f6bf24b..9e013fda2da 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -43,3 +43,10 @@ strip = "debuginfo" [features] dev = [] +json = [] +plaintext = [] +fortunes = [] +db = [] +query = [] +update = [] +cached_query = [] diff --git a/frameworks/Rust/hyperlane/benchmark_config.json b/frameworks/Rust/hyperlane/benchmark_config.json index 1f810752e18..7864eb27b08 100644 --- a/frameworks/Rust/hyperlane/benchmark_config.json +++ b/frameworks/Rust/hyperlane/benchmark_config.json @@ -2,14 +2,104 @@ "framework": "hyperlane", "tests": [ { - "default": { - "dockerfile": "hyperlane.dockerfile", + "json": { + "dockerfile": "hyperlane.json.dockerfile", "json_url": "/json", + "port": 8080, + "approach": "Realistic", + "classification": "Platform", + "database": "Postgres", + "framework": "hyperlane", + "language": "Rust", + "orm": "raw", + "platform": "Rust", + "webserver": "hyperlane", + "os": "Linux", + "database_os": "Linux", + "display_name": "hyperlane" + }, + "plaintext": { + "dockerfile": "hyperlane.plaintext.dockerfile", "plaintext_url": "/plaintext", + "port": 8080, + "approach": "Realistic", + "classification": "Platform", + "database": "Postgres", + "framework": "hyperlane", + "language": "Rust", + "orm": "raw", + "platform": "Rust", + "webserver": "hyperlane", + "os": "Linux", + "database_os": "Linux", + "display_name": "hyperlane" + }, + "fortunes": { + "dockerfile": "hyperlane.fortunes.dockerfile", "fortune_url": "/fortunes", + "port": 8080, + "approach": "Realistic", + "classification": "Platform", + "database": "Postgres", + "framework": "hyperlane", + "language": "Rust", + "orm": "raw", + "platform": "Rust", + "webserver": "hyperlane", + "os": "Linux", + "database_os": "Linux", + "display_name": "hyperlane" + }, + "db": { + "dockerfile": "hyperlane.db.dockerfile", "db_url": "/db", + "port": 8080, + "approach": "Realistic", + "classification": "Platform", + "database": "Postgres", + "framework": "hyperlane", + "language": "Rust", + "orm": "raw", + "platform": "Rust", + "webserver": "hyperlane", + "os": "Linux", + "database_os": "Linux", + "display_name": "hyperlane" + }, + "query": { + "dockerfile": "hyperlane.query.dockerfile", "query_url": "/query?q=", + "port": 8080, + "approach": "Realistic", + "classification": "Platform", + "database": "Postgres", + "framework": "hyperlane", + "language": "Rust", + "orm": "raw", + "platform": "Rust", + "webserver": "hyperlane", + "os": "Linux", + "database_os": "Linux", + "display_name": "hyperlane" + }, + "update": { + "dockerfile": "hyperlane.update.dockerfile", "update_url": "/upda?q=", + "port": 8080, + "approach": "Realistic", + "classification": "Platform", + "database": "Postgres", + "framework": "hyperlane", + "language": "Rust", + "orm": "raw", + "platform": "Rust", + "webserver": "hyperlane", + "os": "Linux", + "database_os": "Linux", + "display_name": "hyperlane" + }, + "cached_query": { + "dockerfile": "hyperlane.cached_query.dockerfile", "cached_query_url": "/cached-quer?c=", "port": 8080, "approach": "Realistic", diff --git a/frameworks/Rust/hyperlane/hyperlane.cached_query.dockerfile b/frameworks/Rust/hyperlane/hyperlane.cached_query.dockerfile new file mode 100644 index 00000000000..d90fbed9fc8 --- /dev/null +++ b/frameworks/Rust/hyperlane/hyperlane.cached_query.dockerfile @@ -0,0 +1,15 @@ +FROM rust:1.85 + +RUN apt-get update -yqq && apt-get install -yqq cmake g++ binutils lld + +ENV POSTGRES_URL=postgres://benchmarkdbuser:benchmarkdbpass@tfb-database:5432/hello_world + +ADD ./ /hyperlane_techempower +WORKDIR /hyperlane_techempower + +RUN cargo clean +RUN RUSTFLAGS="-C target-cpu=native -C link-arg=-fuse-ld=lld" cargo build --release --features cached_query + +EXPOSE 8080 + +CMD ./target/release/hyperlane_techempower diff --git a/frameworks/Rust/hyperlane/hyperlane.dockerfile b/frameworks/Rust/hyperlane/hyperlane.db.dockerfile similarity index 91% rename from frameworks/Rust/hyperlane/hyperlane.dockerfile rename to frameworks/Rust/hyperlane/hyperlane.db.dockerfile index d9bd815fd04..632f725fc54 100644 --- a/frameworks/Rust/hyperlane/hyperlane.dockerfile +++ b/frameworks/Rust/hyperlane/hyperlane.db.dockerfile @@ -8,7 +8,7 @@ ADD ./ /hyperlane_techempower WORKDIR /hyperlane_techempower RUN cargo clean -RUN RUSTFLAGS="-C target-cpu=native -C link-arg=-fuse-ld=lld" cargo build --release +RUN RUSTFLAGS="-C target-cpu=native -C link-arg=-fuse-ld=lld" cargo build --release --features db EXPOSE 8080 diff --git a/frameworks/Rust/hyperlane/hyperlane.fortunes.dockerfile b/frameworks/Rust/hyperlane/hyperlane.fortunes.dockerfile new file mode 100644 index 00000000000..6c17364aab5 --- /dev/null +++ b/frameworks/Rust/hyperlane/hyperlane.fortunes.dockerfile @@ -0,0 +1,15 @@ +FROM rust:1.85 + +RUN apt-get update -yqq && apt-get install -yqq cmake g++ binutils lld + +ENV POSTGRES_URL=postgres://benchmarkdbuser:benchmarkdbpass@tfb-database:5432/hello_world + +ADD ./ /hyperlane_techempower +WORKDIR /hyperlane_techempower + +RUN cargo clean +RUN RUSTFLAGS="-C target-cpu=native -C link-arg=-fuse-ld=lld" cargo build --release --features fortunes + +EXPOSE 8080 + +CMD ./target/release/hyperlane_techempower diff --git a/frameworks/Rust/hyperlane/hyperlane.json.dockerfile b/frameworks/Rust/hyperlane/hyperlane.json.dockerfile new file mode 100644 index 00000000000..225112b5b38 --- /dev/null +++ b/frameworks/Rust/hyperlane/hyperlane.json.dockerfile @@ -0,0 +1,15 @@ +FROM rust:1.85 + +RUN apt-get update -yqq && apt-get install -yqq cmake g++ binutils lld + +ENV POSTGRES_URL=postgres://benchmarkdbuser:benchmarkdbpass@tfb-database:5432/hello_world + +ADD ./ /hyperlane_techempower +WORKDIR /hyperlane_techempower + +RUN cargo clean +RUN RUSTFLAGS="-C target-cpu=native -C link-arg=-fuse-ld=lld" cargo build --release --features json + +EXPOSE 8080 + +CMD ./target/release/hyperlane_techempower diff --git a/frameworks/Rust/hyperlane/hyperlane.plaintext.dockerfile b/frameworks/Rust/hyperlane/hyperlane.plaintext.dockerfile new file mode 100644 index 00000000000..f2620d45892 --- /dev/null +++ b/frameworks/Rust/hyperlane/hyperlane.plaintext.dockerfile @@ -0,0 +1,15 @@ +FROM rust:1.85 + +RUN apt-get update -yqq && apt-get install -yqq cmake g++ binutils lld + +ENV POSTGRES_URL=postgres://benchmarkdbuser:benchmarkdbpass@tfb-database:5432/hello_world + +ADD ./ /hyperlane_techempower +WORKDIR /hyperlane_techempower + +RUN cargo clean +RUN RUSTFLAGS="-C target-cpu=native -C link-arg=-fuse-ld=lld" cargo build --release --features plaintext + +EXPOSE 8080 + +CMD ./target/release/hyperlane_techempower diff --git a/frameworks/Rust/hyperlane/hyperlane.query.dockerfile b/frameworks/Rust/hyperlane/hyperlane.query.dockerfile new file mode 100644 index 00000000000..04463e5b6dd --- /dev/null +++ b/frameworks/Rust/hyperlane/hyperlane.query.dockerfile @@ -0,0 +1,15 @@ +FROM rust:1.85 + +RUN apt-get update -yqq && apt-get install -yqq cmake g++ binutils lld + +ENV POSTGRES_URL=postgres://benchmarkdbuser:benchmarkdbpass@tfb-database:5432/hello_world + +ADD ./ /hyperlane_techempower +WORKDIR /hyperlane_techempower + +RUN cargo clean +RUN RUSTFLAGS="-C target-cpu=native -C link-arg=-fuse-ld=lld" cargo build --release --features query + +EXPOSE 8080 + +CMD ./target/release/hyperlane_techempower diff --git a/frameworks/Rust/hyperlane/hyperlane.update.dockerfile b/frameworks/Rust/hyperlane/hyperlane.update.dockerfile new file mode 100644 index 00000000000..c265407a1ff --- /dev/null +++ b/frameworks/Rust/hyperlane/hyperlane.update.dockerfile @@ -0,0 +1,15 @@ +FROM rust:1.85 + +RUN apt-get update -yqq && apt-get install -yqq cmake g++ binutils lld + +ENV POSTGRES_URL=postgres://benchmarkdbuser:benchmarkdbpass@tfb-database:5432/hello_world + +ADD ./ /hyperlane_techempower +WORKDIR /hyperlane_techempower + +RUN cargo clean +RUN RUSTFLAGS="-C target-cpu=native -C link-arg=-fuse-ld=lld" cargo build --release --features update + +EXPOSE 8080 + +CMD ./target/release/hyperlane_techempower From 61ed933a60810cebf3b05729a63090f0e2207c30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 19 Apr 2025 23:17:55 +0800 Subject: [PATCH 152/260] feat: update --- frameworks/Rust/hyperlane/src/main.rs | 3 +++ .../Rust/hyperlane/src/request_middleware.rs | 27 ++++++++++++++++--- frameworks/Rust/hyperlane/src/route.rs | 12 ++------- frameworks/Rust/hyperlane/src/server.rs | 13 +++++++++ 4 files changed, 41 insertions(+), 14 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index e4b739e7c6a..762ea38f09f 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -1,3 +1,5 @@ +#[allow(warnings)] +#[allow(dead_code)] pub(crate) mod r#const; pub(crate) mod db; pub(crate) mod lazy; @@ -20,6 +22,7 @@ pub(crate) use hyperlane::{ pub(crate) use lazy::*; pub(crate) use rand::{Rng, SeedableRng, rng, rngs::SmallRng}; pub(crate) use request_middleware::*; +#[allow(unused_imports)] pub(crate) use route::*; pub(crate) use server::*; pub(crate) use sqlx::{ diff --git a/frameworks/Rust/hyperlane/src/request_middleware.rs b/frameworks/Rust/hyperlane/src/request_middleware.rs index 592dbb89170..ba0adee1118 100644 --- a/frameworks/Rust/hyperlane/src/request_middleware.rs +++ b/frameworks/Rust/hyperlane/src/request_middleware.rs @@ -1,13 +1,32 @@ use crate::*; pub async fn request(ctx: Context) { - let _ = ctx - .set_response_header(CONNECTION, CONNECTION_KEEP_ALIVE) - .await - .set_response_header(CONTENT_TYPE, APPLICATION_JSON) + ctx.set_response_header(CONNECTION, CONNECTION_KEEP_ALIVE) .await .set_response_header(SERVER, HYPERLANE) .await .set_response_header(DATE, gmt()) .await; + #[cfg(feature = "plaintext")] + { + set_response_header(CONTENT_TYPE, TEXT_PLAIN).await; + } + #[cfg(feature = "fortunes")] + { + ctx = ctx + .set_response_header(CONTENT_TYPE, content_type_charset(TEXT_HTML, UTF8)) + .await; + } + #[cfg(any( + feature = "json", + feature = "db", + feature = "query", + feature = "update", + feature = "cached_query" + ))] + { + ctx = ctx + .set_response_header(CONTENT_TYPE, APPLICATION_JSON) + .await; + } } diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index b92ae44b881..41fef3308fb 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -10,11 +10,7 @@ pub async fn json(ctx: Context) { } pub async fn plaintext(ctx: Context) { - let _ = ctx - .set_response_header(CONTENT_TYPE, TEXT_PLAIN) - .await - .send_response(200, RESPONSEDATA_BIN) - .await; + let _ = ctx.send_response(200, RESPONSEDATA_BIN).await; } pub async fn db(ctx: Context) { @@ -56,11 +52,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(); - let _ = ctx - .set_response_header(CONTENT_TYPE, content_type_charset(TEXT_HTML, UTF8)) - .await - .send_response(200, res) - .await; + let _ = ctx.send_response(200, res).await; } pub async fn updates(ctx: Context) { diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index c26882a7ce5..e90a45971ea 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -24,17 +24,30 @@ async fn init_server() { server.http_line_buffer_size(256).await; server.websocket_buffer_size(256).await; server.request_middleware(request).await; + #[cfg(feature = "plaintext")] server.route("/plaintext", plaintext).await; + #[cfg(feature = "json")] server.route("/json", json).await; + #[cfg(feature = "cached_query")] server.route("/cached-quer", cached_queries).await; + #[cfg(feature = "db")] server.route("/db", db).await; + #[cfg(feature = "query")] server.route("/query", queries).await; + #[cfg(feature = "fortunes")] server.route("/fortunes", fortunes).await; + #[cfg(feature = "update")] server.route("/upda", updates).await; server.listen().await.unwrap(); } async fn init() { + #[cfg(any( + feature = "db", + feature = "query", + feature = "update", + feature = "fortunes" + ))] init_db().await; init_server().await; } From 7222c44dd26e6fa065effaec914aca413c6b3193 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 19 Apr 2025 23:19:35 +0800 Subject: [PATCH 153/260] feat: update --- frameworks/Rust/hyperlane/src/main.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 762ea38f09f..bc59fee225e 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -1,5 +1,6 @@ -#[allow(warnings)] -#[allow(dead_code)] +#![allow(dead_code)] +#![allow(unused_imports)] + pub(crate) mod r#const; pub(crate) mod db; pub(crate) mod lazy; @@ -22,7 +23,6 @@ pub(crate) use hyperlane::{ pub(crate) use lazy::*; pub(crate) use rand::{Rng, SeedableRng, rng, rngs::SmallRng}; pub(crate) use request_middleware::*; -#[allow(unused_imports)] pub(crate) use route::*; pub(crate) use server::*; pub(crate) use sqlx::{ From 1a438b8ed8fd298d8fdc2813cd2ffc0474b9d5d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 19 Apr 2025 23:35:39 +0800 Subject: [PATCH 154/260] feat: update --- frameworks/Rust/hyperlane/src/db.rs | 38 ++++++++++--------- frameworks/Rust/hyperlane/src/main.rs | 8 ++-- .../Rust/hyperlane/src/request_middleware.rs | 8 ++-- frameworks/Rust/hyperlane/src/route.rs | 6 +-- frameworks/Rust/hyperlane/src/server.rs | 16 ++++---- 5 files changed, 39 insertions(+), 37 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index bafba28ca6d..379645fe5e5 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -119,9 +119,13 @@ pub async fn get_update_data( let db_pool: &DbPoolConnection = get_db_connection(); let mut query_res_list: Vec = Vec::with_capacity(limit as usize); let rows: Vec = get_some_row_id(limit, db_pool).await; - let mut sql: String = format!("UPDATE {} SET randomNumber = CASE id ", TABLE_NAME_WORLD); + let mut sql: String = String::with_capacity(rows.len() * 32); + sql.push_str(&format!( + "UPDATE {} SET randomNumber = CASE id ", + TABLE_NAME_WORLD + )); let mut id_list: Vec = Vec::with_capacity(rows.len()); - let mut value_list: Vec = Vec::with_capacity(rows.len() * 2); + let mut value_list: Vec = Vec::with_capacity(rows.len()); let mut random_numbers: Vec = Vec::with_capacity(rows.len()); for (i, row) in rows.iter().enumerate() { let new_random_number: i32 = get_random_id() as i32; @@ -131,10 +135,8 @@ pub async fn get_update_data( query_res_list.push(QueryRow::new(row.id, new_random_number)); } sql.push_str(&value_list.join(" ")); - let id_params: String = id_list - .iter() - .enumerate() - .map(|(i, _)| format!("${}", (rows.len() * 2 + 1) + i)) + let id_params: String = (0..rows.len()) + .map(|i| format!("${}", (rows.len() * 2 + 1) + i)) .collect::>() .join(","); sql.push_str(&format!( @@ -174,7 +176,7 @@ pub async fn query_world_row(db_pool: &DbPoolConnection, id: Queries) -> QueryRo pub async fn update_world_rows(limit: Queries) -> Vec { let db_pool: &DbPoolConnection = get_db_connection(); let (sql, data, id_list, random_numbers) = get_update_data(limit).await; - let mut query_builder: query::Query<'_, Postgres, postgres::PgArguments> = query(&sql); + let mut query_builder = query(&sql); for (id, random_number) in id_list.iter().zip(random_numbers.iter()) { query_builder = query_builder.bind(id).bind(random_number); } @@ -194,18 +196,18 @@ pub async fn all_world_row() -> Vec { pub async fn get_some_row_id(limit: Queries, db_pool: &DbPoolConnection) -> Vec { let semaphore: Arc = Arc::new(Semaphore::new(32)); - let mut tasks: Vec> = Vec::with_capacity(limit as usize); - for _ in 0..limit { - let _ = semaphore.clone().acquire_owned().await.map(|permit| { - let db_pool: DbPoolConnection = db_pool.clone(); - tasks.push(spawn(async move { + let tasks: Vec<_> = (0..limit) + .map(|_| { + let semaphore: Arc = semaphore.clone(); + let db_pool: Pool = db_pool.clone(); + spawn(async move { + let _permit: Result = + semaphore.acquire_owned().await; let id: i32 = get_random_id(); - let res: QueryRow = query_world_row(&db_pool, id).await; - drop(permit); - res - })); - }); - } + query_world_row(&db_pool, id).await + }) + }) + .collect(); join_all(tasks) .await .into_iter() diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index bc59fee225e..e6c40b0d9e0 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -17,13 +17,15 @@ pub(crate) use hyperlane::{ once_cell::sync::Lazy, serde::*, serde_json::{Value, json}, - tokio::{spawn, sync::Semaphore, task::JoinHandle}, + tokio::{ + spawn, + sync::{AcquireError, OwnedSemaphorePermit, Semaphore}, + task::JoinHandle, + }, *, }; pub(crate) use lazy::*; pub(crate) use rand::{Rng, SeedableRng, rng, rngs::SmallRng}; -pub(crate) use request_middleware::*; -pub(crate) use route::*; pub(crate) use server::*; pub(crate) use sqlx::{ postgres::{PgPoolOptions, PgRow}, diff --git a/frameworks/Rust/hyperlane/src/request_middleware.rs b/frameworks/Rust/hyperlane/src/request_middleware.rs index ba0adee1118..7e7eb1cd7c1 100644 --- a/frameworks/Rust/hyperlane/src/request_middleware.rs +++ b/frameworks/Rust/hyperlane/src/request_middleware.rs @@ -9,12 +9,11 @@ pub async fn request(ctx: Context) { .await; #[cfg(feature = "plaintext")] { - set_response_header(CONTENT_TYPE, TEXT_PLAIN).await; + ctx.set_response_header(CONTENT_TYPE, TEXT_PLAIN).await; } #[cfg(feature = "fortunes")] { - ctx = ctx - .set_response_header(CONTENT_TYPE, content_type_charset(TEXT_HTML, UTF8)) + ctx.set_response_header(CONTENT_TYPE, content_type_charset(TEXT_HTML, UTF8)) .await; } #[cfg(any( @@ -25,8 +24,7 @@ pub async fn request(ctx: Context) { feature = "cached_query" ))] { - ctx = ctx - .set_response_header(CONTENT_TYPE, APPLICATION_JSON) + ctx.set_response_header(CONTENT_TYPE, APPLICATION_JSON) .await; } } diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 41fef3308fb..74f346b9ea7 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -21,7 +21,7 @@ pub async fn db(ctx: Context) { .await; } -pub async fn queries(ctx: Context) { +pub async fn query(ctx: Context) { let queries: Queries = ctx .get_request_query("q") .await @@ -55,7 +55,7 @@ pub async fn fortunes(ctx: Context) { let _ = ctx.send_response(200, res).await; } -pub async fn updates(ctx: Context) { +pub async fn update(ctx: Context) { let queries: Queries = ctx .get_request_query("q") .await @@ -69,7 +69,7 @@ pub async fn updates(ctx: Context) { .await; } -pub async fn cached_queries(ctx: Context) { +pub async fn cached_query(ctx: Context) { let count: Queries = ctx .get_request_query("c") .await diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index e90a45971ea..4d376a34001 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -23,21 +23,21 @@ async fn init_server() { server.disable_inner_print().await; server.http_line_buffer_size(256).await; server.websocket_buffer_size(256).await; - server.request_middleware(request).await; + server.request_middleware(request_middleware::request).await; #[cfg(feature = "plaintext")] - server.route("/plaintext", plaintext).await; + server.route("/plaintext", route::plaintext).await; #[cfg(feature = "json")] - server.route("/json", json).await; + server.route("/json", route::json).await; #[cfg(feature = "cached_query")] - server.route("/cached-quer", cached_queries).await; + server.route("/cached-quer", route::cached_query).await; #[cfg(feature = "db")] - server.route("/db", db).await; + server.route("/db", route::db).await; #[cfg(feature = "query")] - server.route("/query", queries).await; + server.route("/query", route::query).await; #[cfg(feature = "fortunes")] - server.route("/fortunes", fortunes).await; + server.route("/fortunes", route::fortunes).await; #[cfg(feature = "update")] - server.route("/upda", updates).await; + server.route("/upda", route::update).await; server.listen().await.unwrap(); } From c7ada5d308fece4548c5aa567364388e7045a3e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 19 Apr 2025 23:56:30 +0800 Subject: [PATCH 155/260] feat: update --- frameworks/Rust/hyperlane/src/server.rs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 4d376a34001..93e484ad8ef 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -24,29 +24,31 @@ async fn init_server() { server.http_line_buffer_size(256).await; server.websocket_buffer_size(256).await; server.request_middleware(request_middleware::request).await; - #[cfg(feature = "plaintext")] + #[cfg(any(feature = "dev", feature = "plaintext"))] server.route("/plaintext", route::plaintext).await; - #[cfg(feature = "json")] + #[cfg(any(feature = "dev", feature = "json"))] server.route("/json", route::json).await; - #[cfg(feature = "cached_query")] + #[cfg(any(feature = "dev", feature = "cached_query"))] server.route("/cached-quer", route::cached_query).await; - #[cfg(feature = "db")] + #[cfg(any(feature = "dev", feature = "db"))] server.route("/db", route::db).await; - #[cfg(feature = "query")] + #[cfg(any(feature = "dev", feature = "query"))] server.route("/query", route::query).await; - #[cfg(feature = "fortunes")] + #[cfg(any(feature = "dev", feature = "fortunes"))] server.route("/fortunes", route::fortunes).await; - #[cfg(feature = "update")] + #[cfg(any(feature = "dev", feature = "update"))] server.route("/upda", route::update).await; server.listen().await.unwrap(); } async fn init() { #[cfg(any( + feature = "dev", feature = "db", feature = "query", feature = "update", - feature = "fortunes" + feature = "fortunes", + feature = "cached_query", ))] init_db().await; init_server().await; From e1879d03cb777f62ff5e13dc354222795f3a1121 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 20 Apr 2025 00:16:25 +0800 Subject: [PATCH 156/260] Merge remote-tracking branch 'upstream/master' --- frameworks/Rust/hyperlane/Cargo.lock | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 54e095778c3..f6b37ff672b 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -1433,9 +1433,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "c28b4eafe8a2d82f83559ef5941afff1ccba3da8e375c8f148efd75df181bf4f" dependencies = [ "libc", ] @@ -1537,7 +1537,6 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f743f2a3cea30a58cd479013f75550e879009e3a02f616f18ca699335aa248c3" dependencies = [ - "base64", "base64", "bytes", "crc", From a87a91318a846c7a2ee76fc4ac7b6e53a408ce0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 25 Apr 2025 07:41:03 +0800 Subject: [PATCH 157/260] feat: hyperlane --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index f6b37ff672b..4896f9f5a4b 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -682,9 +682,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.87.3" +version = "4.89.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0867d16811e67ce0cbf86a0c3fd7947934b1d53e2ee533f2d00e75f926636e8" +checksum = "5c64217ace3f2a70a02cb9e95a181c640414d4230d06cea12122894700057a4a" dependencies = [ "async-func", "clonelicious", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 9e013fda2da..4fa1d19eb2b 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.87.3" +hyperlane = "4.89.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.5", features = ["runtime-tokio", "postgres"] } From 59c6f82ff29c333f8abcd2f7c8174f954ab7369e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 25 Apr 2025 23:10:44 +0800 Subject: [PATCH 158/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 24 ++++++++++++------------ frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 4896f9f5a4b..3e778ffb8b5 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -122,9 +122,9 @@ dependencies = [ [[package]] name = "brotli" -version = "7.0.0" +version = "8.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" +checksum = "cf19e729cdbd51af9a397fb9ef8ac8378007b797f8273cfbfdf45dcaa316167b" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -133,9 +133,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "4.0.3" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a334ef7c9e23abf0ce748e8cd309037da93e606ad52eb372e4ce327a0dcfbdfd" +checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -638,9 +638,9 @@ dependencies = [ [[package]] name = "http-compress" -version = "2.12.1" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f7d507f95e723dd293f5c486554ab1e70692ee97c27fc4a493684f54dc6c9a" +checksum = "fbec9c630191b7df2029ba5a70558a8fa9b30e0bc73bcdb08ea1d69e9764ed4d" dependencies = [ "brotli", "flate2", @@ -655,9 +655,9 @@ checksum = "1292cbdcf2588d15f8bf14cac381785c11ca7634d6a088cad9eebb5068d2652b" [[package]] name = "http-type" -version = "3.64.2" +version = "3.67.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2d8d89138b251e0a91cdaa261885bcfc959986cba2131d448bdc75f2e18c1d0" +checksum = "7db6b0794e5bb36a7bb661c755983428455a2dd1ee80ca579bb54256ceaf2975" dependencies = [ "ahash", "dashmap", @@ -682,9 +682,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.89.0" +version = "4.90.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c64217ace3f2a70a02cb9e95a181c640414d4230d06cea12122894700057a4a" +checksum = "d369ffde9cd6e8a8cc82e2c9264670db60558571629fdac379d85a183bf063db" dependencies = [ "async-func", "clonelicious", @@ -1355,9 +1355,9 @@ dependencies = [ [[package]] name = "serde-xml-rs" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb3aa78ecda1ebc9ec9847d5d3aba7d618823446a049ba2491940506da6e2782" +checksum = "12ef8209566c27b96b10a096e25abc534e08e9bbbcf8e444b92640f1416dd1c6" dependencies = [ "log", "serde", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 4fa1d19eb2b..9dc93b308d6 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.89.0" +hyperlane = "4.90.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.5", features = ["runtime-tokio", "postgres"] } From aa6c74b45c2fc39478b05a18950a8d912906c9eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 27 Apr 2025 20:58:33 +0800 Subject: [PATCH 159/260] docs: readme --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- frameworks/Rust/hyperlane/README.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 3e778ffb8b5..6c312ecc742 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -682,9 +682,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.90.0" +version = "4.90.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d369ffde9cd6e8a8cc82e2c9264670db60558571629fdac379d85a183bf063db" +checksum = "1f21eb7a2d9b9462603f2df9a47e00504c74df98b5d45a5a62a58ae9e7ee3b4b" dependencies = [ "async-func", "clonelicious", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 9dc93b308d6..300b57fba83 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.90.0" +hyperlane = "4.90.1" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.5", features = ["runtime-tokio", "postgres"] } diff --git a/frameworks/Rust/hyperlane/README.md b/frameworks/Rust/hyperlane/README.md index 20ab5eec3c4..731b60a4650 100644 --- a/frameworks/Rust/hyperlane/README.md +++ b/frameworks/Rust/hyperlane/README.md @@ -2,7 +2,7 @@ ## Description -Hyperlane is a lightweight and high-performance Rust HTTP server library designed to simplify network service development. It supports HTTP request parsing, response building, and TCP communication, making it ideal for building modern web services. Additionally, it provides support for request and response middleware, WebSocket, and Server-Sent Events (SSE), enabling flexible and efficient real-time communication. +> Hyperlane is a lightweight and high-performance Rust HTTP server library designed to simplify network service development. It supports HTTP request parsing, response building, and TCP communication, making it ideal for building modern web services. Additionally, it provides support for request and response middleware, WebSocket, and Server-Sent Events (SSE), enabling flexible and efficient real-time communication. Built with pure Rust and standard library, Hyperlane offers true cross-platform compatibility across Windows, Linux and macOS, with the same API experience on all platforms, powered by Tokio's async runtime for seamless networking without platform-specific dependencies. ## Database From 0004628a9a90165961ef2fe9c5ddef02dd0c67e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 6 May 2025 07:33:35 +0800 Subject: [PATCH 160/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 40 ++++++++++++++-------------- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 6c312ecc742..779b15a1cc0 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -51,15 +51,6 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" -[[package]] -name = "async-func" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61cf3fe5910b9139e5f8b4bdb4a0923d5aaae21fb45cb64e22d4b43ac70da5ad" -dependencies = [ - "tokio", -] - [[package]] name = "atoi" version = "2.0.0" @@ -122,9 +113,9 @@ dependencies = [ [[package]] name = "brotli" -version = "8.0.0" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf19e729cdbd51af9a397fb9ef8ac8378007b797f8273cfbfdf45dcaa316167b" +checksum = "9991eea70ea4f293524138648e41ee89b0b2b12ddef3b255effa43c8056e0e0d" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -414,6 +405,15 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "future-fn" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "001452c736697c8f96e4689dc5ab6a89f175981417139a44f1dd1f7c20d430a5" +dependencies = [ + "tokio", +] + [[package]] name = "futures" version = "0.3.31" @@ -638,9 +638,9 @@ dependencies = [ [[package]] name = "http-compress" -version = "2.13.0" +version = "2.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbec9c630191b7df2029ba5a70558a8fa9b30e0bc73bcdb08ea1d69e9764ed4d" +checksum = "42e8fe2367f50ba59314488b240828c518c17f3b19d48d2555c62d947925d6ac" dependencies = [ "brotli", "flate2", @@ -655,9 +655,9 @@ checksum = "1292cbdcf2588d15f8bf14cac381785c11ca7634d6a088cad9eebb5068d2652b" [[package]] name = "http-type" -version = "3.67.0" +version = "3.68.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7db6b0794e5bb36a7bb661c755983428455a2dd1ee80ca579bb54256ceaf2975" +checksum = "7ccd07d720a1fe07d30d1f7f6f0eb5ebda6c0280d113a8211abe382e23872536" dependencies = [ "ahash", "dashmap", @@ -682,14 +682,14 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.90.1" +version = "4.92.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f21eb7a2d9b9462603f2df9a47e00504c74df98b5d45a5a62a58ae9e7ee3b4b" +checksum = "01a1ff97d715538d6207da4e199a8486d3c4d6198777477cda350e409b8da73b" dependencies = [ - "async-func", "clonelicious", "color-output", "file-operation", + "future-fn", "http-type", "hyperlane-log", "recoverable-spawn", @@ -1355,9 +1355,9 @@ dependencies = [ [[package]] name = "serde-xml-rs" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12ef8209566c27b96b10a096e25abc534e08e9bbbcf8e444b92640f1416dd1c6" +checksum = "176b7ff880ab6ead7a020e773e9c096467fe347615a3e22ac29300cbdef67a5d" dependencies = [ "log", "serde", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 300b57fba83..d6d76c7243d 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.90.1" +hyperlane = "4.92.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.5", features = ["runtime-tokio", "postgres"] } From dcb43cff955a666047bbf2eb6190f61a04939477 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 6 May 2025 07:36:02 +0800 Subject: [PATCH 161/260] Merge remote-tracking branch 'upstream/master' --- frameworks/Rust/hyperlane/Cargo.lock | 60 ++++++++++++++-------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 779b15a1cc0..d805171f676 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -24,7 +24,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "getrandom 0.2.15", + "getrandom 0.2.16", "once_cell", "version_check", "zerocopy 0.7.35", @@ -526,9 +526,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "libc", @@ -561,7 +561,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa2c385c6df70fd180bbb673d93039dbd2cd34e41d782600bdf6e1ca7bce39aa" dependencies = [ - "hashbrown 0.15.2", + "hashbrown 0.15.3", "serde", ] @@ -573,9 +573,9 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "hashbrown" -version = "0.15.2" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" dependencies = [ "allocator-api2", "equivalent", @@ -588,7 +588,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" dependencies = [ - "hashbrown 0.15.2", + "hashbrown 0.15.3", ] [[package]] @@ -871,7 +871,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.15.3", ] [[package]] @@ -907,9 +907,9 @@ checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" [[package]] name = "libm" -version = "0.2.11" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" +checksum = "a25169bd5913a4b437588a7e3d127cd6e90127b60e0ffbd834a38f1599e016b8" [[package]] name = "libsqlite3-sys" @@ -1157,7 +1157,7 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "zerocopy 0.8.24", + "zerocopy 0.8.25", ] [[package]] @@ -1231,7 +1231,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", ] [[package]] @@ -1266,9 +1266,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.11" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3" +checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" dependencies = [ "bitflags", ] @@ -1321,9 +1321,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustix" -version = "1.0.5" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf" +checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" dependencies = [ "bitflags", "errno", @@ -1422,9 +1422,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", @@ -1433,9 +1433,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.3" +version = "1.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28b4eafe8a2d82f83559ef5941afff1ccba3da8e375c8f148efd75df181bf4f" +checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" dependencies = [ "libc", ] @@ -1547,7 +1547,7 @@ dependencies = [ "futures-intrusive", "futures-io", "futures-util", - "hashbrown 0.15.2", + "hashbrown 0.15.3", "hashlink", "indexmap", "log", @@ -1738,9 +1738,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.100" +version = "2.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" +checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" dependencies = [ "proc-macro2", "quote", @@ -1749,9 +1749,9 @@ dependencies = [ [[package]] name = "synstructure" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", @@ -2301,11 +2301,11 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.24" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" dependencies = [ - "zerocopy-derive 0.8.24", + "zerocopy-derive 0.8.25", ] [[package]] @@ -2321,9 +2321,9 @@ dependencies = [ [[package]] name = "zerocopy-derive" -version = "0.8.24" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" dependencies = [ "proc-macro2", "quote", From 7b272d773803905ba4a680c68f062b4be4811e97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Thu, 8 May 2025 08:14:23 +0800 Subject: [PATCH 162/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- frameworks/Rust/hyperlane/src/server.rs | 6 ++---- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index d805171f676..517ac4e7ea0 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -682,9 +682,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.92.0" +version = "4.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01a1ff97d715538d6207da4e199a8486d3c4d6198777477cda350e409b8da73b" +checksum = "e896a95d92bbeeacaacf05735de9d35c3eb73ddefd09a7429afeae440a75caf1" dependencies = [ "clonelicious", "color-output", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index d6d76c7243d..ffcdb7f3ba7 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.92.0" +hyperlane = "4.93.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.5", features = ["runtime-tokio", "postgres"] } diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index e3402d638c5..a4b65e440ae 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -3,9 +3,7 @@ use tokio::runtime::{Builder, Runtime}; fn runtime() -> Runtime { Builder::new_multi_thread() - .worker_threads(get_thread_count() >> 1) - .thread_stack_size(1_048_576) - .worker_threads(get_thread_count() >> 1) + .worker_threads(get_thread_count()) .thread_stack_size(1_048_576) .max_blocking_threads(5120) .max_io_events_per_tick(5120) @@ -40,7 +38,7 @@ async fn init_server() { server.route("/fortunes", route::fortunes).await; #[cfg(any(feature = "dev", feature = "update"))] server.route("/upda", route::update).await; - server.listen().await.unwrap(); + server.run().await.unwrap(); } async fn init() { From 3ce635d1ba782ca7eb6f4b20c0d803c5689d078e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 9 May 2025 22:20:06 +0800 Subject: [PATCH 163/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 44 ++++++++-------------------- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 13 insertions(+), 33 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 517ac4e7ea0..8fcb7b8bbe6 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -19,15 +19,15 @@ checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" [[package]] name = "ahash" -version = "0.8.11" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", - "getrandom 0.2.16", + "getrandom 0.3.2", "once_cell", "version_check", - "zerocopy 0.7.35", + "zerocopy", ] [[package]] @@ -655,9 +655,9 @@ checksum = "1292cbdcf2588d15f8bf14cac381785c11ca7634d6a088cad9eebb5068d2652b" [[package]] name = "http-type" -version = "3.68.0" +version = "3.69.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ccd07d720a1fe07d30d1f7f6f0eb5ebda6c0280d113a8211abe382e23872536" +checksum = "eaf5da8da331a56ba2e5b0a8a70432471ecba536d7ad1d9837fa530a357d0979" dependencies = [ "ahash", "dashmap", @@ -682,9 +682,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.93.0" +version = "4.94.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e896a95d92bbeeacaacf05735de9d35c3eb73ddefd09a7429afeae440a75caf1" +checksum = "3729f28d6eabc3106bff87c6d22e948234edc58cac893ad0b886f9edf6460759" dependencies = [ "clonelicious", "color-output", @@ -1157,7 +1157,7 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "zerocopy 0.8.25", + "zerocopy", ] [[package]] @@ -1838,9 +1838,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.44.2" +version = "1.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48" +checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165" dependencies = [ "backtrace", "bytes", @@ -2290,33 +2290,13 @@ dependencies = [ "synstructure", ] -[[package]] -name = "zerocopy" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" -dependencies = [ - "zerocopy-derive 0.7.35", -] - [[package]] name = "zerocopy" version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" dependencies = [ - "zerocopy-derive 0.8.25", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" -dependencies = [ - "proc-macro2", - "quote", - "syn", + "zerocopy-derive", ] [[package]] diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index ffcdb7f3ba7..d3cc9e2afd8 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.93.0" +hyperlane = "4.94.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.5", features = ["runtime-tokio", "postgres"] } From 63446d8a7f6784fe822aba88799d23019f1e1a8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 11 May 2025 19:33:01 +0800 Subject: [PATCH 164/260] feat: update --- frameworks/Rust/hyperlane/src/server.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index a4b65e440ae..7beff9e3a6a 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -5,8 +5,8 @@ fn runtime() -> Runtime { Builder::new_multi_thread() .worker_threads(get_thread_count()) .thread_stack_size(1_048_576) - .max_blocking_threads(5120) - .max_io_events_per_tick(5120) + .max_blocking_threads(10240) + .max_io_events_per_tick(10240) .enable_all() .build() .unwrap() From c02f3df9a563d6a2ae6f13fda2cf159d2f979cfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 11 May 2025 19:35:36 +0800 Subject: [PATCH 165/260] Merge remote-tracking branch 'upstream/master' --- frameworks/Rust/hyperlane/Cargo.lock | 162 ++++++++++++--------------- 1 file changed, 69 insertions(+), 93 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 8fcb7b8bbe6..3d9ebec0fb3 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -24,7 +24,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", - "getrandom 0.3.2", + "getrandom 0.3.3", "once_cell", "version_check", "zerocopy", @@ -68,9 +68,9 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" dependencies = [ "addr2line", "cfg-if", @@ -197,9 +197,9 @@ dependencies = [ [[package]] name = "crc" -version = "3.2.1" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" dependencies = [ "crc-catalog", ] @@ -537,9 +537,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if", "js-sys", @@ -727,21 +727,22 @@ dependencies = [ [[package]] name = "icu_collections" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" dependencies = [ "displaydoc", + "potential_utf", "yoke", "zerofrom", "zerovec", ] [[package]] -name = "icu_locid" -version = "1.5.0" +name = "icu_locale_core" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" dependencies = [ "displaydoc", "litemap", @@ -750,31 +751,11 @@ dependencies = [ "zerovec", ] -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d" - [[package]] name = "icu_normalizer" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" dependencies = [ "displaydoc", "icu_collections", @@ -782,67 +763,54 @@ dependencies = [ "icu_properties", "icu_provider", "smallvec", - "utf16_iter", - "utf8_iter", - "write16", "zerovec", ] [[package]] name = "icu_normalizer_data" -version = "1.5.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" [[package]] name = "icu_properties" -version = "1.5.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +checksum = "2549ca8c7241c82f59c80ba2a6f415d931c5b58d24fb8412caa1a1f02c49139a" dependencies = [ "displaydoc", "icu_collections", - "icu_locid_transform", + "icu_locale_core", "icu_properties_data", "icu_provider", - "tinystr", + "potential_utf", + "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "1.5.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2" +checksum = "8197e866e47b68f8f7d95249e172903bec06004b18b2937f1095d40a0c57de04" [[package]] name = "icu_provider" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" dependencies = [ "displaydoc", - "icu_locid", - "icu_provider_macros", + "icu_locale_core", "stable_deref_trait", "tinystr", "writeable", "yoke", "zerofrom", + "zerotrie", "zerovec", ] -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "idna" version = "1.0.3" @@ -856,9 +824,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -907,9 +875,9 @@ checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" [[package]] name = "libm" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a25169bd5913a4b437588a7e3d127cd6e90127b60e0ffbd834a38f1599e016b8" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libsqlite3-sys" @@ -929,9 +897,9 @@ checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" [[package]] name = "litemap" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "lock_api" @@ -1151,6 +1119,15 @@ version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" +[[package]] +name = "potential_utf" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +dependencies = [ + "zerovec", +] + [[package]] name = "ppv-lite86" version = "0.2.21" @@ -1240,7 +1217,7 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.3", ] [[package]] @@ -1456,7 +1433,7 @@ version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c962f626b54771990066e5435ec8331d1462576cd2d1e62f24076ae014f92112" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.3", "halfbrown", "ref-cast", "serde", @@ -1765,7 +1742,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" dependencies = [ "fastrand", - "getrandom 0.3.2", + "getrandom 0.3.3", "once_cell", "rustix", "windows-sys 0.59.0", @@ -1813,9 +1790,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.7.6" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" dependencies = [ "displaydoc", "zerovec", @@ -1967,12 +1944,6 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -2248,17 +2219,11 @@ dependencies = [ "bitflags", ] -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - [[package]] name = "writeable" -version = "0.5.5" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" [[package]] name = "xml-rs" @@ -2268,9 +2233,9 @@ checksum = "a62ce76d9b56901b19a74f19431b0d8b3bc7ca4ad685a746dfd78ca8f4fc6bda" [[package]] name = "yoke" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" dependencies = [ "serde", "stable_deref_trait", @@ -2280,9 +2245,9 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", @@ -2337,11 +2302,22 @@ version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +[[package]] +name = "zerotrie" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + [[package]] name = "zerovec" -version = "0.10.4" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" dependencies = [ "yoke", "zerofrom", @@ -2350,9 +2326,9 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.10.3" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", From b0d7bb3725cfcdb40a7fc3646a197ac05a8106eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 18 May 2025 15:01:48 +0800 Subject: [PATCH 166/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 6 +++--- frameworks/Rust/hyperlane/Cargo.toml | 4 ++-- frameworks/Rust/hyperlane/src/db.rs | 12 ++++++------ frameworks/Rust/hyperlane/src/main.rs | 1 + frameworks/Rust/hyperlane/src/server.rs | 5 ++--- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 3d9ebec0fb3..46bc78b839d 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -682,9 +682,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.94.0" +version = "4.96.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3729f28d6eabc3106bff87c6d22e948234edc58cac893ad0b886f9edf6460759" +checksum = "acc5a8304e2eeb80a1fd2634849f8db35de8db15e11212bd7643fe2b78314b3a" dependencies = [ "clonelicious", "color-output", @@ -717,7 +717,7 @@ checksum = "d0f69051b8978d37eb5a3d8f700a39159d40d7646f1aef8d2f3e441279f4dfa1" [[package]] name = "hyperlane_techempower" -version = "0.0.1" +version = "0.1.0" dependencies = [ "hyperlane", "rand 0.9.1", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index d3cc9e2afd8..fcd98b8a40a 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hyperlane_techempower" -version = "0.0.1" +version = "0.1.0" edition = "2024" authors = ["ltpp-universe "] license = "MIT" @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.94.0" +hyperlane = "4.96.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.5", features = ["runtime-tokio", "postgres"] } diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 379645fe5e5..435ad3f9c79 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -8,7 +8,7 @@ pub fn get_db_connection() -> &'static DbPoolConnection { pub async fn create_database() { let db_pool: &DbPoolConnection = get_db_connection(); let _ = query(&format!("CREATE DATABASE {};", DATABASE_NAME)) - .execute(&db_pool) + .execute(db_pool) .await; } @@ -21,7 +21,7 @@ pub async fn create_table() { );", TABLE_NAME_WORLD )) - .execute(&db_pool) + .execute(db_pool) .await; let _ = query(&format!( "CREATE TABLE IF NOT EXISTS {} ( @@ -29,7 +29,7 @@ pub async fn create_table() { );", TABLE_NAME_FORTUNE )) - .execute(&db_pool) + .execute(db_pool) .await; } @@ -37,7 +37,7 @@ pub async fn create_table() { pub async fn insert_records() { let db_pool: &DbPoolConnection = get_db_connection(); let row: PgRow = query(&format!("SELECT COUNT(*) FROM {}", TABLE_NAME_WORLD)) - .fetch_one(&db_pool) + .fetch_one(db_pool) .await .unwrap(); let count: i64 = row.get(0); @@ -56,7 +56,7 @@ pub async fn insert_records() { TABLE_NAME_WORLD, values.join(",") ); - let _ = query(&sql).execute(&db_pool).await; + let _ = query(&sql).execute(db_pool).await; let mut values: Vec = Vec::new(); for _ in 0..missing_count { let random_number: i32 = get_random_id(); @@ -67,7 +67,7 @@ pub async fn insert_records() { TABLE_NAME_FORTUNE, values.join(",") ); - let _ = query(&sql).execute(&db_pool).await; + let _ = query(&sql).execute(db_pool).await; } pub async fn init_cache() -> Vec { diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index e6c40b0d9e0..dc4ffbf34d5 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -18,6 +18,7 @@ pub(crate) use hyperlane::{ serde::*, serde_json::{Value, json}, tokio::{ + runtime::{Builder, Runtime}, spawn, sync::{AcquireError, OwnedSemaphorePermit, Semaphore}, task::JoinHandle, diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 7beff9e3a6a..b3e8d08600b 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -1,12 +1,11 @@ use crate::*; -use tokio::runtime::{Builder, Runtime}; fn runtime() -> Runtime { Builder::new_multi_thread() .worker_threads(get_thread_count()) .thread_stack_size(1_048_576) - .max_blocking_threads(10240) - .max_io_events_per_tick(10240) + .max_blocking_threads(1024000) + .max_io_events_per_tick(1024000) .enable_all() .build() .unwrap() From ad6dd3b3df86a3e389500460ee3b1db0584eec3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 18 May 2025 16:00:58 +0800 Subject: [PATCH 167/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index a6e19645c29..667d627133e 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -20,10 +20,8 @@ checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" [[package]] name = "ahash" version = "0.8.12" -version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" -checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", "getrandom 0.3.3", @@ -97,9 +95,9 @@ checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" [[package]] name = "bitflags" -version = "2.9.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" dependencies = [ "serde", ] @@ -317,9 +315,9 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.11" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e" +checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" dependencies = [ "libc", "windows-sys 0.59.0", @@ -1739,9 +1737,9 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.19.1" +version = "3.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" +checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" dependencies = [ "fastrand", "getrandom 0.3.3", From 0982cb246f01a4d32d86a2e79dd809d834511be8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 19 May 2025 20:51:46 +0800 Subject: [PATCH 168/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 20 ++++++++++---------- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 667d627133e..9d403a5e3fd 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -655,9 +655,9 @@ checksum = "1292cbdcf2588d15f8bf14cac381785c11ca7634d6a088cad9eebb5068d2652b" [[package]] name = "http-type" -version = "3.69.0" +version = "3.69.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf5da8da331a56ba2e5b0a8a70432471ecba536d7ad1d9837fa530a357d0979" +checksum = "c1125f5f9bffc3610e876954970d1973450809cdebb4330e1f3d28dbdc31be12" dependencies = [ "ahash", "dashmap", @@ -682,9 +682,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.96.0" +version = "4.97.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acc5a8304e2eeb80a1fd2634849f8db35de8db15e11212bd7643fe2b78314b3a" +checksum = "4e851e367b6cd56abb23314a5601420ed8e551df912d8af37e4c1b35783e1f6e" dependencies = [ "clonelicious", "color-output", @@ -699,9 +699,9 @@ dependencies = [ [[package]] name = "hyperlane-log" -version = "1.16.1" +version = "1.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17a47938bb5388e2428ebbe02098c485c2a596b4aae4cc909320394dede527bb" +checksum = "202aff1748f3ed4dafc8a5ee8db738b6dbe6fdc67fe34d4352374086eb1c3408" dependencies = [ "file-operation", "hyperlane-time", @@ -919,9 +919,9 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "lombok-macros" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ffb76637e1a834f7ad93d96b8be0bcfa6673f08fdcab6c9fbeabc1cb0e8c379" +checksum = "a41ecfde676fb603d89ad95447468fa15bc6605b27f43ae3cf491b4d698050e2" dependencies = [ "proc-macro2", "quote", @@ -1232,9 +1232,9 @@ dependencies = [ [[package]] name = "recoverable-thread-pool" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03a8924916abfed76681374565d505b59b2c8bc17f03e3693be2243c324433ed" +checksum = "d4523f77fd19954e96b300c38fddc825e97f5ff967b466ea2eb0f73f7ddf7d6f" dependencies = [ "lombok-macros", "recoverable-spawn", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index fcd98b8a40a..67356f9cd64 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.96.0" +hyperlane = "4.97.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.5", features = ["runtime-tokio", "postgres"] } From f2eb74bf1aec627fd340b71d0ccfd701fb2a2fd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 19 May 2025 21:41:23 +0800 Subject: [PATCH 169/260] feat: update --- frameworks/Rust/hyperlane/src/main.rs | 5 +++-- frameworks/Rust/hyperlane/src/server.rs | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index dc4ffbf34d5..da29f0836b2 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -12,6 +12,9 @@ pub(crate) mod utils; pub(crate) use r#const::*; pub(crate) use db::*; +pub(crate) use r#type::*; +pub(crate) use utils::*; + pub(crate) use hyperlane::{ futures::{executor::block_on, future::join_all}, once_cell::sync::Lazy, @@ -33,8 +36,6 @@ pub(crate) use sqlx::{ *, }; pub(crate) use std::{fmt, hint::black_box, sync::Arc}; -pub(crate) use r#type::*; -pub(crate) use utils::*; fn main() { run_server(); diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index b3e8d08600b..49ce05c7398 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -4,7 +4,7 @@ fn runtime() -> Runtime { Builder::new_multi_thread() .worker_threads(get_thread_count()) .thread_stack_size(1_048_576) - .max_blocking_threads(1024000) + .max_blocking_threads(1_024_000) .max_io_events_per_tick(1024000) .enable_all() .build() From 6e37bfa4bb42563da5bbe7d8988970d86759ea68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 19 May 2025 23:38:19 +0800 Subject: [PATCH 170/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 15 ++++++--------- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 9d403a5e3fd..d6c45326bbc 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -158,9 +158,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clonelicious" -version = "1.1.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc3dfae702af156917c65f4ccc70687088331f0b694e5e687453e4d68a16b496" +checksum = "a3e8d46da7a7455b7a90e9e9de342bb537e98c5ae6012b10f7f5cd3e9afc9145" [[package]] name = "color-output" @@ -407,12 +407,9 @@ dependencies = [ [[package]] name = "future-fn" -version = "0.1.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "001452c736697c8f96e4689dc5ab6a89f175981417139a44f1dd1f7c20d430a5" -dependencies = [ - "tokio", -] +checksum = "fe7ac439a219e53cb8321c583ba96cbe38384bbc53c54c9eaf0ec0d3aa7d1250" [[package]] name = "futures" @@ -682,9 +679,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.97.0" +version = "4.99.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e851e367b6cd56abb23314a5601420ed8e551df912d8af37e4c1b35783e1f6e" +checksum = "f278403af42fbbe6bbe9ce6a86478050e34ccf7a94d7e3621512dcd8d366330d" dependencies = [ "clonelicious", "color-output", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 67356f9cd64..09b3cbc4c29 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.97.0" +hyperlane = "4.99.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.5", features = ["runtime-tokio", "postgres"] } From ea838640966efc020d588e8ee07fe945403f2864 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 20 May 2025 13:39:21 +0800 Subject: [PATCH 171/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 137 +++++++++------------------ frameworks/Rust/hyperlane/Cargo.toml | 8 +- 2 files changed, 48 insertions(+), 97 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index d6c45326bbc..e29400ca1cb 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -158,15 +158,15 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clonelicious" -version = "2.0.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e8d46da7a7455b7a90e9e9de342bb537e98c5ae6012b10f7f5cd3e9afc9145" +checksum = "7b1511a0af3ff6d72e14e146fdbae14d7d04585e42a05aad73cf8a3de24227d7" [[package]] name = "color-output" -version = "6.6.1" +version = "6.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47a70e27f954a060626fdba6829cdded6c3dae6376d0e03822363114aaead8a8" +checksum = "9ee668c75e86c8819b0bc690e3a1ec46ecef5c565cec032fda1adfd2dc8065de" dependencies = [ "hyperlane-time", ] @@ -313,16 +313,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" -[[package]] -name = "errno" -version = "0.3.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - [[package]] name = "etcetera" version = "0.8.0" @@ -345,17 +335,11 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "fastrand" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" - [[package]] name = "file-operation" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78548b84eac71fe0f185f2169fa960f65af6e49ae2b63fdb729e81cacdf7b5da" +checksum = "77d0f30e884bcf9240c54b5cf3771f7c44597446c75a2f69d8f15d1e208b8016" dependencies = [ "tokio", ] @@ -407,9 +391,9 @@ dependencies = [ [[package]] name = "future-fn" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe7ac439a219e53cb8321c583ba96cbe38384bbc53c54c9eaf0ec0d3aa7d1250" +checksum = "583a42593fe75d72f374b71225789c9a3a80c7556d1cad2396234567cdb74054" [[package]] name = "futures" @@ -635,9 +619,9 @@ dependencies = [ [[package]] name = "http-compress" -version = "2.13.1" +version = "2.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42e8fe2367f50ba59314488b240828c518c17f3b19d48d2555c62d947925d6ac" +checksum = "e16c979cabd4461b1cdb941979ecbdbadce7a471f4aa31f6567679790e67050a" dependencies = [ "brotli", "flate2", @@ -646,15 +630,15 @@ dependencies = [ [[package]] name = "http-constant" -version = "1.42.1" +version = "1.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1292cbdcf2588d15f8bf14cac381785c11ca7634d6a088cad9eebb5068d2652b" +checksum = "34f1d5e6b5f18f21ddf83d1e9a0ddd627e79570c4040524efe21d95e35cd617f" [[package]] name = "http-type" -version = "3.69.1" +version = "3.69.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1125f5f9bffc3610e876954970d1973450809cdebb4330e1f3d28dbdc31be12" +checksum = "0737479116b3fc51d415fc562645e44ff534fc20c7c498a2868fb06ab5784e3c" dependencies = [ "ahash", "dashmap", @@ -679,9 +663,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.99.0" +version = "4.99.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f278403af42fbbe6bbe9ce6a86478050e34ccf7a94d7e3621512dcd8d366330d" +checksum = "5d3411cbd64e27d0df416f8c6396247ea6787aacd9bb5bec6db6c9b6d0f2c0c9" dependencies = [ "clonelicious", "color-output", @@ -696,9 +680,9 @@ dependencies = [ [[package]] name = "hyperlane-log" -version = "1.16.2" +version = "1.16.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "202aff1748f3ed4dafc8a5ee8db738b6dbe6fdc67fe34d4352374086eb1c3408" +checksum = "f786bc38c4152a99ffd13b606640468cc523cdef78b175d21a9203280ff037cd" dependencies = [ "file-operation", "hyperlane-time", @@ -708,9 +692,9 @@ dependencies = [ [[package]] name = "hyperlane-time" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f69051b8978d37eb5a3d8f700a39159d40d7646f1aef8d2f3e441279f4dfa1" +checksum = "f9b4586d969438cbebdb74ba318c7c185271cda6fc987d19be66b5f8510e4272" [[package]] name = "hyperlane_techempower" @@ -886,12 +870,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "linux-raw-sys" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" - [[package]] name = "litemap" version = "0.8.0" @@ -916,9 +894,9 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "lombok-macros" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a41ecfde676fb603d89ad95447468fa15bc6605b27f43ae3cf491b4d698050e2" +checksum = "a824e2f6a07d12bc9d5eea459797cea25237cc1e3f9af4a8c75a6429ea60c1b4" dependencies = [ "proc-macro2", "quote", @@ -1219,9 +1197,9 @@ dependencies = [ [[package]] name = "recoverable-spawn" -version = "3.7.2" +version = "3.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57702670d1a6eb7e02bbd6c2fafe3587c42eb2ce4e5012ae8632171aa58c21b6" +checksum = "2da3dceb2b49cf994763c6d97bbcc392b0d462ad293a979f2a806a1480a5cb88" dependencies = [ "once_cell", "tokio", @@ -1229,9 +1207,9 @@ dependencies = [ [[package]] name = "recoverable-thread-pool" -version = "2.3.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4523f77fd19954e96b300c38fddc825e97f5ff967b466ea2eb0f73f7ddf7d6f" +checksum = "837cf12790a0919a71329b1c490808a5efb37af46c3e3f51d60934514096ab4e" dependencies = [ "lombok-macros", "recoverable-spawn", @@ -1293,19 +1271,6 @@ version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" -[[package]] -name = "rustix" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" -dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.59.0", -] - [[package]] name = "ryu" version = "1.0.20" @@ -1376,9 +1341,9 @@ dependencies = [ [[package]] name = "server-manager" -version = "3.2.1" +version = "3.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7be400c8b4c701205cf9415f5463845319fbaeea0964750cb94f830224145d86" +checksum = "5ba2b7101fc87ee03ed6bbcf1aea6f2b48501f9cd4569dfb10bfa41dfd7d344a" dependencies = [ "tokio", ] @@ -1494,9 +1459,9 @@ dependencies = [ [[package]] name = "sqlx" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c3a85280daca669cfd3bcb68a337882a8bc57ec882f72c5d13a430613a738e" +checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc" dependencies = [ "sqlx-core", "sqlx-macros", @@ -1507,9 +1472,9 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f743f2a3cea30a58cd479013f75550e879009e3a02f616f18ca699335aa248c3" +checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6" dependencies = [ "base64", "bytes", @@ -1541,9 +1506,9 @@ dependencies = [ [[package]] name = "sqlx-macros" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4200e0fde19834956d4252347c12a083bdcb237d7a1a1446bffd8768417dce" +checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d" dependencies = [ "proc-macro2", "quote", @@ -1554,9 +1519,9 @@ dependencies = [ [[package]] name = "sqlx-macros-core" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "882ceaa29cade31beca7129b6beeb05737f44f82dbe2a9806ecea5a7093d00b7" +checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b" dependencies = [ "dotenvy", "either", @@ -1573,16 +1538,15 @@ dependencies = [ "sqlx-postgres", "sqlx-sqlite", "syn", - "tempfile", "tokio", "url", ] [[package]] name = "sqlx-mysql" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0afdd3aa7a629683c2d750c2df343025545087081ab5942593a5288855b1b7a7" +checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526" dependencies = [ "atoi", "base64", @@ -1622,9 +1586,9 @@ dependencies = [ [[package]] name = "sqlx-postgres" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0bedbe1bbb5e2615ef347a5e9d8cd7680fb63e77d9dafc0f29be15e53f1ebe6" +checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46" dependencies = [ "atoi", "base64", @@ -1659,9 +1623,9 @@ dependencies = [ [[package]] name = "sqlx-sqlite" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c26083e9a520e8eb87a06b12347679b142dc2ea29e6e409f805644a7a979a5bc" +checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea" dependencies = [ "atoi", "flume", @@ -1689,9 +1653,9 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "std-macro-extensions" -version = "0.23.0" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a607e0efa86ea0eaa1985e254fd8412d8d2d2aa5e46af96b67a6b188677dcbeb" +checksum = "b8aea3f47732de44afdc8c549445308a43f5623da5a79602bf32de518566fc62" [[package]] name = "stringprep" @@ -1732,19 +1696,6 @@ dependencies = [ "syn", ] -[[package]] -name = "tempfile" -version = "3.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" -dependencies = [ - "fastrand", - "getrandom 0.3.3", - "once_cell", - "rustix", - "windows-sys 0.59.0", -] - [[package]] name = "thiserror" version = "1.0.69" diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 09b3cbc4c29..fd75d60d70a 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -2,11 +2,11 @@ name = "hyperlane_techempower" version = "0.1.0" edition = "2024" -authors = ["ltpp-universe "] +authors = ["eastspire "] license = "MIT" description = """Hyperlane is a lightweight and high-performance Rust HTTP server library designed to simplify network service development. It supports HTTP request parsing, response building, and TCP communication, making it ideal for building modern web services. Additionally, it provides support for request and response middleware, WebSocket, and Server-Sent Events (SSE), enabling flexible and efficient real-time communication.""" keywords = ["http", "request", "response", "tcp", "redirect"] -repository = "https://github.com/ltpp-universe/hyperlane.git" +repository = "https://github.com/eastspire/hyperlane.git" categories = ["network-programming", "web-programming"] exclude = [ "target", @@ -18,10 +18,10 @@ exclude = [ ] [dependencies] -hyperlane = "4.99.0" +hyperlane = "4.99.1" rand = "0.9.1" serde = "1.0.219" -sqlx = { version = "0.8.5", features = ["runtime-tokio", "postgres"] } +sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } [profile.dev] incremental = false From 95d704a24b4d7b59e1b0fdf1cf2154d032c1712a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Wed, 21 May 2025 00:01:17 +0800 Subject: [PATCH 172/260] feat: lock --- frameworks/Rust/hyperlane/Cargo.lock | 60 ++++++++++++++-------------- frameworks/Rust/hyperlane/Cargo.toml | 4 +- frameworks/Rust/hyperlane/README.md | 2 +- 3 files changed, 33 insertions(+), 33 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index e29400ca1cb..3a4763d5e75 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -158,15 +158,15 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clonelicious" -version = "2.0.2" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1511a0af3ff6d72e14e146fdbae14d7d04585e42a05aad73cf8a3de24227d7" +checksum = "b7d51b119ca46e37c21508debf8d9823521be05a70e32ee5afc7695ae1cfb4ec" [[package]] name = "color-output" -version = "6.6.2" +version = "6.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ee668c75e86c8819b0bc690e3a1ec46ecef5c565cec032fda1adfd2dc8065de" +checksum = "ed260583bcafb40922925d447c098fd5b94e7b2eb8679e87dae2632da0a01357" dependencies = [ "hyperlane-time", ] @@ -337,9 +337,9 @@ dependencies = [ [[package]] name = "file-operation" -version = "0.5.10" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77d0f30e884bcf9240c54b5cf3771f7c44597446c75a2f69d8f15d1e208b8016" +checksum = "b1b81e9a35a431f57f3304aec4ed6a59c7f1fb82af62b02e18afe197e8e3769d" dependencies = [ "tokio", ] @@ -391,9 +391,9 @@ dependencies = [ [[package]] name = "future-fn" -version = "0.2.3" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583a42593fe75d72f374b71225789c9a3a80c7556d1cad2396234567cdb74054" +checksum = "61a60fa5df978d3b02f58da08ae2e47d2bb8b19f765a693eaa9e5e8045b3925d" [[package]] name = "futures" @@ -619,9 +619,9 @@ dependencies = [ [[package]] name = "http-compress" -version = "2.13.2" +version = "2.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16c979cabd4461b1cdb941979ecbdbadce7a471f4aa31f6567679790e67050a" +checksum = "7f1e04c8ee442e52dfbf7e4003f614d8e35ff4e4f6ea9271871abcec8a6d7c85" dependencies = [ "brotli", "flate2", @@ -630,15 +630,15 @@ dependencies = [ [[package]] name = "http-constant" -version = "1.42.2" +version = "1.42.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34f1d5e6b5f18f21ddf83d1e9a0ddd627e79570c4040524efe21d95e35cd617f" +checksum = "1808d8983c7ca1d289188767327a24d3e6c0c6a741257745fd7fea9f8f7a7635" [[package]] name = "http-type" -version = "3.69.2" +version = "3.69.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0737479116b3fc51d415fc562645e44ff534fc20c7c498a2868fb06ab5784e3c" +checksum = "03e242a3c26c3365128c36a3cc803a4d3299cdf466dff723acbdee7a3911d045" dependencies = [ "ahash", "dashmap", @@ -663,9 +663,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.99.1" +version = "4.99.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d3411cbd64e27d0df416f8c6396247ea6787aacd9bb5bec6db6c9b6d0f2c0c9" +checksum = "ee442e23cfd5aa7a08992fdb58e4ae18281bae51a5ee6907e7cd5344f758a81b" dependencies = [ "clonelicious", "color-output", @@ -680,9 +680,9 @@ dependencies = [ [[package]] name = "hyperlane-log" -version = "1.16.4" +version = "1.16.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f786bc38c4152a99ffd13b606640468cc523cdef78b175d21a9203280ff037cd" +checksum = "dc2fea42cc7c83f7c8436ee6db372fc043a034065d94f9ac6dbbc28e00302d14" dependencies = [ "file-operation", "hyperlane-time", @@ -692,9 +692,9 @@ dependencies = [ [[package]] name = "hyperlane-time" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9b4586d969438cbebdb74ba318c7c185271cda6fc987d19be66b5f8510e4272" +checksum = "8e7dd4a0e7011c2909328b695546ef47a520969d619d6f0542a56d8f3ef84470" [[package]] name = "hyperlane_techempower" @@ -894,9 +894,9 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "lombok-macros" -version = "1.11.1" +version = "1.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a824e2f6a07d12bc9d5eea459797cea25237cc1e3f9af4a8c75a6429ea60c1b4" +checksum = "89a6c00f977434776490d523145f6de60b6b7d9ce1096c011449484c80100a40" dependencies = [ "proc-macro2", "quote", @@ -1197,9 +1197,9 @@ dependencies = [ [[package]] name = "recoverable-spawn" -version = "3.7.3" +version = "3.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2da3dceb2b49cf994763c6d97bbcc392b0d462ad293a979f2a806a1480a5cb88" +checksum = "6740e68c7a92ceec820bb9e62ade93377b631ee1d4e8252a34a3815446e59f64" dependencies = [ "once_cell", "tokio", @@ -1207,9 +1207,9 @@ dependencies = [ [[package]] name = "recoverable-thread-pool" -version = "2.3.3" +version = "2.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "837cf12790a0919a71329b1c490808a5efb37af46c3e3f51d60934514096ab4e" +checksum = "629c4dafeade0bd46f1f9ce78dcb8336ba912b2544d028a8cf714a32a0ffa29f" dependencies = [ "lombok-macros", "recoverable-spawn", @@ -1341,9 +1341,9 @@ dependencies = [ [[package]] name = "server-manager" -version = "3.2.2" +version = "3.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ba2b7101fc87ee03ed6bbcf1aea6f2b48501f9cd4569dfb10bfa41dfd7d344a" +checksum = "d6936d74a2263590ed722bdf27315b693b8a84a5dffdb3b47a9b7c0a7b50396b" dependencies = [ "tokio", ] @@ -1653,9 +1653,9 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "std-macro-extensions" -version = "0.23.1" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8aea3f47732de44afdc8c549445308a43f5623da5a79602bf32de518566fc62" +checksum = "aa17898d2c4216a85ad32abd51101b6eab0adef954ed1393c4557ba378625ade" [[package]] name = "stringprep" diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index fd75d60d70a..6aa15d13e04 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -2,7 +2,7 @@ name = "hyperlane_techempower" version = "0.1.0" edition = "2024" -authors = ["eastspire "] +authors = ["root@ltpp.vip"] license = "MIT" description = """Hyperlane is a lightweight and high-performance Rust HTTP server library designed to simplify network service development. It supports HTTP request parsing, response building, and TCP communication, making it ideal for building modern web services. Additionally, it provides support for request and response middleware, WebSocket, and Server-Sent Events (SSE), enabling flexible and efficient real-time communication.""" keywords = ["http", "request", "response", "tcp", "redirect"] @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.99.1" +hyperlane = "4.99.2" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } diff --git a/frameworks/Rust/hyperlane/README.md b/frameworks/Rust/hyperlane/README.md index 731b60a4650..d2b95b513b9 100644 --- a/frameworks/Rust/hyperlane/README.md +++ b/frameworks/Rust/hyperlane/README.md @@ -1,4 +1,4 @@ -# [hyperlane](https://github.com/ltpp-universe/hyperlane) web framework +# [hyperlane](https://github.com/eastspire/hyperlane) web framework ## Description From 53ae1a1164a201ced4bc2ad4987c580414d141e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Wed, 21 May 2025 21:55:22 +0800 Subject: [PATCH 173/260] feat: use super --- frameworks/Rust/hyperlane/src/db.rs | 2 +- frameworks/Rust/hyperlane/src/lazy.rs | 2 +- frameworks/Rust/hyperlane/src/request_middleware.rs | 2 +- frameworks/Rust/hyperlane/src/route.rs | 2 +- frameworks/Rust/hyperlane/src/server.rs | 4 ++-- frameworks/Rust/hyperlane/src/type.rs | 2 +- frameworks/Rust/hyperlane/src/utils.rs | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 435ad3f9c79..eb7c57b779e 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -1,4 +1,4 @@ -use crate::*; +use super::*; pub fn get_db_connection() -> &'static DbPoolConnection { &DB diff --git a/frameworks/Rust/hyperlane/src/lazy.rs b/frameworks/Rust/hyperlane/src/lazy.rs index a792c04b13b..e50d528ce7a 100644 --- a/frameworks/Rust/hyperlane/src/lazy.rs +++ b/frameworks/Rust/hyperlane/src/lazy.rs @@ -1,4 +1,4 @@ -use crate::*; +use super::*; pub static DB: Lazy = Lazy::new(|| block_on(async { connection_db().await })); pub static CACHE: Lazy> = Lazy::new(|| block_on(async { init_cache().await })); diff --git a/frameworks/Rust/hyperlane/src/request_middleware.rs b/frameworks/Rust/hyperlane/src/request_middleware.rs index 7e7eb1cd7c1..ff75877b318 100644 --- a/frameworks/Rust/hyperlane/src/request_middleware.rs +++ b/frameworks/Rust/hyperlane/src/request_middleware.rs @@ -1,4 +1,4 @@ -use crate::*; +use super::*; pub async fn request(ctx: Context) { ctx.set_response_header(CONNECTION, CONNECTION_KEEP_ALIVE) diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 74f346b9ea7..46442ce2137 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -1,4 +1,4 @@ -use crate::*; +use super::*; pub async fn json(ctx: Context) { let json: Value = json!({ diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 49ce05c7398..f7f50162226 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -1,11 +1,11 @@ -use crate::*; +use super::*; fn runtime() -> Runtime { Builder::new_multi_thread() .worker_threads(get_thread_count()) .thread_stack_size(1_048_576) .max_blocking_threads(1_024_000) - .max_io_events_per_tick(1024000) + .max_io_events_per_tick(1_024_000) .enable_all() .build() .unwrap() diff --git a/frameworks/Rust/hyperlane/src/type.rs b/frameworks/Rust/hyperlane/src/type.rs index b5e47ecd6cd..0e23804c3d7 100644 --- a/frameworks/Rust/hyperlane/src/type.rs +++ b/frameworks/Rust/hyperlane/src/type.rs @@ -1,4 +1,4 @@ -use crate::*; +use super::*; pub type DbPoolConnection = Pool; pub type Queries = i32; diff --git a/frameworks/Rust/hyperlane/src/utils.rs b/frameworks/Rust/hyperlane/src/utils.rs index 2f67531f50e..5b22bbb8447 100644 --- a/frameworks/Rust/hyperlane/src/utils.rs +++ b/frameworks/Rust/hyperlane/src/utils.rs @@ -1,4 +1,4 @@ -use crate::*; +use super::*; pub fn escape_html(input: &str) -> String { let mut result: String = String::new(); From ed9585cb1eaac14281e83008c776a4e168a1d6f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 23 May 2025 00:41:23 +0800 Subject: [PATCH 174/260] feat: update lock --- frameworks/Rust/hyperlane/Cargo.lock | 8 ++++---- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 3a4763d5e75..a4732ad40f3 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -636,9 +636,9 @@ checksum = "1808d8983c7ca1d289188767327a24d3e6c0c6a741257745fd7fea9f8f7a7635" [[package]] name = "http-type" -version = "3.69.3" +version = "3.71.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03e242a3c26c3365128c36a3cc803a4d3299cdf466dff723acbdee7a3911d045" +checksum = "2b366def32178dee364ecb572c6399a1eb961eff91cd205f3e0879d0642b52f7" dependencies = [ "ahash", "dashmap", @@ -663,9 +663,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.99.2" +version = "4.101.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee442e23cfd5aa7a08992fdb58e4ae18281bae51a5ee6907e7cd5344f758a81b" +checksum = "0b09f6bc01850dd5abd33caf79664f064d39327ebde340c64bd267197c7685ed" dependencies = [ "clonelicious", "color-output", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 6aa15d13e04..58667336664 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.99.2" +hyperlane = "4.101.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } From 894f5ddcd9d8a7a9c36ba6782948dfb11d1cf67c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 23 May 2025 14:06:27 +0800 Subject: [PATCH 175/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 8 ++++---- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index a4732ad40f3..6f1b3927503 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -636,9 +636,9 @@ checksum = "1808d8983c7ca1d289188767327a24d3e6c0c6a741257745fd7fea9f8f7a7635" [[package]] name = "http-type" -version = "3.71.0" +version = "3.72.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b366def32178dee364ecb572c6399a1eb961eff91cd205f3e0879d0642b52f7" +checksum = "e60444695a64e58b81fba58839c080906cd056c5564b463894434a4d5dba4cd3" dependencies = [ "ahash", "dashmap", @@ -663,9 +663,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.101.0" +version = "4.103.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b09f6bc01850dd5abd33caf79664f064d39327ebde340c64bd267197c7685ed" +checksum = "8f9839e30bfa5263fa846a433790f287401ec7ea699cdb3683d43ae6a199b204" dependencies = [ "clonelicious", "color-output", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 58667336664..9afef2e2fe6 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.101.0" +hyperlane = "4.103.1" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } From 8296a05b1f166d5ed976f8a319d3112325c80969 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 23 May 2025 18:42:49 +0800 Subject: [PATCH 176/260] feat: update lock --- frameworks/Rust/hyperlane/Cargo.lock | 74 ++++++++++++++++++++-------- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 55 insertions(+), 21 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 6f1b3927503..46340d7a090 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -289,7 +289,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.101", ] [[package]] @@ -462,7 +462,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.101", ] [[package]] @@ -663,21 +663,33 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.103.1" +version = "4.104.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f9839e30bfa5263fa846a433790f287401ec7ea699cdb3683d43ae6a199b204" +checksum = "e62c0d9f8243e8ed4cc8480d19b58132463019382be65d7eb847665dfb603432" dependencies = [ "clonelicious", "color-output", "file-operation", "future-fn", "http-type", + "hyperlane-broadcast", "hyperlane-log", "recoverable-spawn", "recoverable-thread-pool", "server-manager", ] +[[package]] +name = "hyperlane-broadcast" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dcd964cea2ae6e4778ca27ce48989040de754f176545fc1827f5e6b15a0055b" +dependencies = [ + "dashmap", + "lombok", + "tokio", +] + [[package]] name = "hyperlane-log" version = "1.16.6" @@ -892,6 +904,17 @@ version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" +[[package]] +name = "lombok" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fd3ecc97c69dd7420e63ddc37457e143cff962c7301de78e4a6ec62d45abdf7" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "lombok-macros" version = "1.11.3" @@ -900,7 +923,7 @@ checksum = "89a6c00f977434776490d523145f6de60b6b7d9ce1096c011449484c80100a40" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.101", ] [[package]] @@ -1242,7 +1265,7 @@ checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.101", ] [[package]] @@ -1312,7 +1335,7 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.101", ] [[package]] @@ -1514,7 +1537,7 @@ dependencies = [ "quote", "sqlx-core", "sqlx-macros-core", - "syn", + "syn 2.0.101", ] [[package]] @@ -1537,7 +1560,7 @@ dependencies = [ "sqlx-mysql", "sqlx-postgres", "sqlx-sqlite", - "syn", + "syn 2.0.101", "tokio", "url", ] @@ -1674,6 +1697,17 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + [[package]] name = "syn" version = "2.0.101" @@ -1693,7 +1727,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.101", ] [[package]] @@ -1722,7 +1756,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.101", ] [[package]] @@ -1733,7 +1767,7 @@ checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.101", ] [[package]] @@ -1787,7 +1821,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.101", ] [[package]] @@ -1821,7 +1855,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.101", ] [[package]] @@ -1964,7 +1998,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn", + "syn 2.0.101", "wasm-bindgen-shared", ] @@ -1986,7 +2020,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.101", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -2199,7 +2233,7 @@ checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.101", "synstructure", ] @@ -2220,7 +2254,7 @@ checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.101", ] [[package]] @@ -2240,7 +2274,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.101", "synstructure", ] @@ -2280,5 +2314,5 @@ checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.101", ] diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 9afef2e2fe6..677b9b486fe 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.103.1" +hyperlane = "4.104.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } From d7601eb3260f2f46549fb5252c2e2c8d7282721b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 23 May 2025 19:15:13 +0800 Subject: [PATCH 177/260] feat: update lock --- frameworks/Rust/hyperlane/Cargo.lock | 8 ++++---- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 46340d7a090..747c03a3223 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -663,9 +663,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.104.0" +version = "4.104.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e62c0d9f8243e8ed4cc8480d19b58132463019382be65d7eb847665dfb603432" +checksum = "a93bfea0d900c45673c134c9f76c540dbe76d675e44dd516a121041b4b6b0acc" dependencies = [ "clonelicious", "color-output", @@ -681,9 +681,9 @@ dependencies = [ [[package]] name = "hyperlane-broadcast" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dcd964cea2ae6e4778ca27ce48989040de754f176545fc1827f5e6b15a0055b" +checksum = "77cd3b98eecd545e1acbe203b9d0fbad46e7d9034033c5e3afa07fff9dbcb3e6" dependencies = [ "dashmap", "lombok", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 677b9b486fe..7221a94d21c 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.104.0" +hyperlane = "4.104.1" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } From 4bce951ec9496dbc8ebfa951c6a4da4a570b72b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 24 May 2025 15:17:33 +0800 Subject: [PATCH 178/260] feat: update lock --- frameworks/Rust/hyperlane/Cargo.lock | 8 ++++---- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 747c03a3223..2285db3d3f1 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -636,9 +636,9 @@ checksum = "1808d8983c7ca1d289188767327a24d3e6c0c6a741257745fd7fea9f8f7a7635" [[package]] name = "http-type" -version = "3.72.0" +version = "3.75.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e60444695a64e58b81fba58839c080906cd056c5564b463894434a4d5dba4cd3" +checksum = "d0e0264e804fa40afe79ef9c5e4aef20a100b98216ec29da82cc29dce3a1b188" dependencies = [ "ahash", "dashmap", @@ -663,9 +663,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.104.1" +version = "4.105.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a93bfea0d900c45673c134c9f76c540dbe76d675e44dd516a121041b4b6b0acc" +checksum = "a23c219dc5646fec584fb02830bc3da1d7991ebb66b95f94135e38f36e90383c" dependencies = [ "clonelicious", "color-output", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 7221a94d21c..37b8f788b19 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.104.1" +hyperlane = "4.105.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } From 92fa40f3e806636a4255e26e56ef633d10fabae6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 24 May 2025 18:47:04 +0800 Subject: [PATCH 179/260] feat: lock --- frameworks/Rust/hyperlane/Cargo.lock | 24 ++++++++++++------------ frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 2285db3d3f1..e441059f5bf 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -619,9 +619,9 @@ dependencies = [ [[package]] name = "http-compress" -version = "2.13.4" +version = "2.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f1e04c8ee442e52dfbf7e4003f614d8e35ff4e4f6ea9271871abcec8a6d7c85" +checksum = "90935a9ba153dcca173ac3787b8c0b5e74eabc982a9ddf801da885d17ea20c25" dependencies = [ "brotli", "flate2", @@ -636,9 +636,9 @@ checksum = "1808d8983c7ca1d289188767327a24d3e6c0c6a741257745fd7fea9f8f7a7635" [[package]] name = "http-type" -version = "3.75.0" +version = "3.75.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0e0264e804fa40afe79ef9c5e4aef20a100b98216ec29da82cc29dce3a1b188" +checksum = "a2dd2ff1126e96b1f68d2ea7ddcd97c8e00b33bf73934a4e5950ec95318c7308" dependencies = [ "ahash", "dashmap", @@ -663,9 +663,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "4.105.0" +version = "4.105.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a23c219dc5646fec584fb02830bc3da1d7991ebb66b95f94135e38f36e90383c" +checksum = "b1959d79c87585589751b4eb5b388bb014b67be7bf26a49c9cbd705bfb47bc74" dependencies = [ "clonelicious", "color-output", @@ -692,9 +692,9 @@ dependencies = [ [[package]] name = "hyperlane-log" -version = "1.16.6" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc2fea42cc7c83f7c8436ee6db372fc043a034065d94f9ac6dbbc28e00302d14" +checksum = "122979cb4239b87d844029c7b6cf98c65ffcce8a3e49e4f463227efb6bdc33ea" dependencies = [ "file-operation", "hyperlane-time", @@ -1220,9 +1220,9 @@ dependencies = [ [[package]] name = "recoverable-spawn" -version = "3.7.10" +version = "3.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6740e68c7a92ceec820bb9e62ade93377b631ee1d4e8252a34a3815446e59f64" +checksum = "2e80cb1811dee47b521fb2a022c3a533d378e24816b6e59763c18de10693eb6a" dependencies = [ "once_cell", "tokio", @@ -1230,9 +1230,9 @@ dependencies = [ [[package]] name = "recoverable-thread-pool" -version = "2.3.5" +version = "2.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "629c4dafeade0bd46f1f9ce78dcb8336ba912b2544d028a8cf714a32a0ffa29f" +checksum = "a2e2324afca56db58cd4dda7043df90b3a6aa5f998c5459a358f99589de5aa0b" dependencies = [ "lombok-macros", "recoverable-spawn", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 37b8f788b19..20c082d8070 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "4.105.0" +hyperlane = "4.105.2" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } From 1f8aba70c683eebb08c402539770324348c8b539 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 25 May 2025 10:07:20 +0800 Subject: [PATCH 180/260] feat: update lock --- frameworks/Rust/hyperlane/Cargo.lock | 174 ++++++++++++++---------- frameworks/Rust/hyperlane/Cargo.toml | 3 +- frameworks/Rust/hyperlane/src/main.rs | 11 +- frameworks/Rust/hyperlane/src/server.rs | 4 +- 4 files changed, 109 insertions(+), 83 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index e441059f5bf..976faf4d2e0 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -93,6 +93,12 @@ version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" +[[package]] +name = "bin-encode-decode" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65d0c660f94a990c6e9015951188fcb5bebc4d21b6dd82244597aab2ad47dc36" + [[package]] name = "bitflags" version = "2.9.1" @@ -156,6 +162,19 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "chunkify" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5db978867c272fae07fdf73dddfa74c8e276f9b94cd1a55c676a786e9e54e678" +dependencies = [ + "dashmap", + "file-operation", + "once_cell", + "tokio", + "twox-hash", +] + [[package]] name = "clonelicious" version = "2.0.3" @@ -164,13 +183,19 @@ checksum = "b7d51b119ca46e37c21508debf8d9823521be05a70e32ee5afc7695ae1cfb4ec" [[package]] name = "color-output" -version = "6.6.3" +version = "6.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed260583bcafb40922925d447c098fd5b94e7b2eb8679e87dae2632da0a01357" +checksum = "016afb96f1d207a365d175c64b6f7ddef44ba8dfc6ad60cafd596d9f0b146bb1" dependencies = [ "hyperlane-time", ] +[[package]] +name = "compare_version" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a81172d3a2eb49276707c98711f3ea49a11f5566e4cb3092c738bbb7fd2098b" + [[package]] name = "concurrent-queue" version = "2.5.0" @@ -289,7 +314,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -462,7 +487,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -636,65 +661,51 @@ checksum = "1808d8983c7ca1d289188767327a24d3e6c0c6a741257745fd7fea9f8f7a7635" [[package]] name = "http-type" -version = "3.75.1" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2dd2ff1126e96b1f68d2ea7ddcd97c8e00b33bf73934a4e5950ec95318c7308" +checksum = "402bf8e61c1e41068d8795b145c6b7d3faca8ef5c3eba681958639701d31433f" dependencies = [ - "ahash", "dashmap", - "futures", "hex", "http-compress", "http-constant", "lombok-macros", - "num_cpus", - "once_cell", "serde", "serde-xml-rs", "serde_json", "serde_urlencoded", - "simd-json", "std-macro-extensions", "tokio", - "twox-hash", "url", - "urlencoding", ] [[package]] name = "hyperlane" -version = "4.105.2" +version = "5.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1959d79c87585589751b4eb5b388bb014b67be7bf26a49c9cbd705bfb47bc74" +checksum = "a762cc3ed9b88db6ff08dc6d5c4c7f266f4e77ccd5092f8887eb13ef98f9da7d" dependencies = [ - "clonelicious", - "color-output", - "file-operation", - "future-fn", "http-type", - "hyperlane-broadcast", - "hyperlane-log", - "recoverable-spawn", - "recoverable-thread-pool", - "server-manager", + "lombok-macros", + "serde", ] [[package]] name = "hyperlane-broadcast" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77cd3b98eecd545e1acbe203b9d0fbad46e7d9034033c5e3afa07fff9dbcb3e6" +checksum = "e3adf73a004af460c641dbd77a737209bccc36f979560c51e9d5b71d087df31f" dependencies = [ "dashmap", - "lombok", + "lombok-macros", "tokio", ] [[package]] name = "hyperlane-log" -version = "1.16.7" +version = "1.16.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "122979cb4239b87d844029c7b6cf98c65ffcce8a3e49e4f463227efb6bdc33ea" +checksum = "f0da87f61e1b3ecc65d1f37e1f893ef234a544d8a4de32c516b9c98a5e765859" dependencies = [ "file-operation", "hyperlane-time", @@ -704,15 +715,50 @@ dependencies = [ [[package]] name = "hyperlane-time" -version = "0.5.4" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c145707425cdd097e117e8b4ee8baeaf8eb265658a5c37d2c4aa0b24fd26a507" + +[[package]] +name = "hyperlane-utils" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e7dd4a0e7011c2909328b695546ef47a520969d619d6f0542a56d8f3ef84470" +checksum = "1abe7313f7b46886b32e223dc716a17594e3e82aac2d9a425cb32194d892502c" +dependencies = [ + "ahash", + "bin-encode-decode", + "chunkify", + "clonelicious", + "color-output", + "compare_version", + "file-operation", + "future-fn", + "futures", + "hex", + "hyperlane-broadcast", + "hyperlane-log", + "lombok-macros", + "num_cpus", + "once_cell", + "recoverable-spawn", + "recoverable-thread-pool", + "serde", + "serde-xml-rs", + "serde_json", + "serde_urlencoded", + "server-manager", + "simd-json", + "twox-hash", + "url", + "urlencoding", +] [[package]] name = "hyperlane_techempower" version = "0.1.0" dependencies = [ "hyperlane", + "hyperlane-utils", "rand 0.9.1", "serde", "sqlx", @@ -904,26 +950,15 @@ version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" -[[package]] -name = "lombok" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fd3ecc97c69dd7420e63ddc37457e143cff962c7301de78e4a6ec62d45abdf7" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "lombok-macros" -version = "1.11.3" +version = "1.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89a6c00f977434776490d523145f6de60b6b7d9ce1096c011449484c80100a40" +checksum = "10cee2ce690915c2b491c9ea0d2d8e3daa3e30bcc55cc15fd9297b2566c4522e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -1230,9 +1265,9 @@ dependencies = [ [[package]] name = "recoverable-thread-pool" -version = "2.3.6" +version = "2.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2e2324afca56db58cd4dda7043df90b3a6aa5f998c5459a358f99589de5aa0b" +checksum = "47914cafb04d7ac1e20031c17f7831c282d7ed730c86be0480c4db6347b339c5" dependencies = [ "lombok-macros", "recoverable-spawn", @@ -1265,7 +1300,7 @@ checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -1335,7 +1370,7 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -1537,7 +1572,7 @@ dependencies = [ "quote", "sqlx-core", "sqlx-macros-core", - "syn 2.0.101", + "syn", ] [[package]] @@ -1560,7 +1595,7 @@ dependencies = [ "sqlx-mysql", "sqlx-postgres", "sqlx-sqlite", - "syn 2.0.101", + "syn", "tokio", "url", ] @@ -1697,17 +1732,6 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.101" @@ -1727,7 +1751,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -1756,7 +1780,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -1767,7 +1791,7 @@ checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -1797,9 +1821,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.45.0" +version = "1.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165" +checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" dependencies = [ "backtrace", "bytes", @@ -1821,7 +1845,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -1855,7 +1879,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -1998,7 +2022,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.101", + "syn", "wasm-bindgen-shared", ] @@ -2020,7 +2044,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -2233,7 +2257,7 @@ checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", "synstructure", ] @@ -2254,7 +2278,7 @@ checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -2274,7 +2298,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", "synstructure", ] @@ -2314,5 +2338,5 @@ checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 20c082d8070..b262ec74e3f 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,8 @@ exclude = [ ] [dependencies] -hyperlane = "4.105.2" +hyperlane = "5.0.2" +hyperlane-utils = "0.1.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index da29f0836b2..6d83065204a 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -16,10 +16,6 @@ pub(crate) use r#type::*; pub(crate) use utils::*; pub(crate) use hyperlane::{ - futures::{executor::block_on, future::join_all}, - once_cell::sync::Lazy, - serde::*, - serde_json::{Value, json}, tokio::{ runtime::{Builder, Runtime}, spawn, @@ -28,6 +24,13 @@ pub(crate) use hyperlane::{ }, *, }; +pub(crate) use hyperlane_utils::{ + futures::{executor::block_on, future::join_all}, + once_cell::sync::Lazy, + serde::*, + serde_json::{Value, json}, + *, +}; pub(crate) use lazy::*; pub(crate) use rand::{Rng, SeedableRng, rng, rngs::SmallRng}; pub(crate) use server::*; diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index f7f50162226..a5e3efff572 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -17,9 +17,7 @@ async fn init_server() { server.port(8080).await; server.disable_linger().await; server.disable_nodelay().await; - server.disable_log().await; - server.disable_inner_log().await; - server.disable_inner_print().await; + server.error_handle(|_: String| {}).await; server.http_line_buffer_size(256).await; server.websocket_buffer_size(256).await; server.request_middleware(request_middleware::request).await; From 37493650bf0e27de259fefdfacc1df664e88c470 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 25 May 2025 10:48:29 +0800 Subject: [PATCH 181/260] feat: update lock --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 976faf4d2e0..acf69655763 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -681,9 +681,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "5.0.2" +version = "5.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a762cc3ed9b88db6ff08dc6d5c4c7f266f4e77ccd5092f8887eb13ef98f9da7d" +checksum = "fa035d2147e53ac978f140a7664e0fad19756fdc15c0930abba2f3eab1cf1d05" dependencies = [ "http-type", "lombok-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index b262ec74e3f..681c2e95088 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.0.2" +hyperlane = "5.0.4" hyperlane-utils = "0.1.0" rand = "0.9.1" serde = "1.0.219" From 7a84e6f6527baff849319efeccce4385db615c23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 25 May 2025 13:02:27 +0800 Subject: [PATCH 182/260] feat: update lock --- frameworks/Rust/hyperlane/Cargo.lock | 8 ++++---- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index acf69655763..41a7e1ca9ec 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -703,9 +703,9 @@ dependencies = [ [[package]] name = "hyperlane-log" -version = "1.16.8" +version = "1.16.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0da87f61e1b3ecc65d1f37e1f893ef234a544d8a4de32c516b9c98a5e765859" +checksum = "e822ed456ed2b07e3d038ed2275cabcce56651110bebb20c7d3fd699ce5c4602" dependencies = [ "file-operation", "hyperlane-time", @@ -721,9 +721,9 @@ checksum = "c145707425cdd097e117e8b4ee8baeaf8eb265658a5c37d2c4aa0b24fd26a507" [[package]] name = "hyperlane-utils" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1abe7313f7b46886b32e223dc716a17594e3e82aac2d9a425cb32194d892502c" +checksum = "f93ab0654e8a524670b0e4d9f985cd04dc0213c0f7ef0574415939848b83a38e" dependencies = [ "ahash", "bin-encode-decode", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 681c2e95088..2f809a79ccd 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -19,7 +19,7 @@ exclude = [ [dependencies] hyperlane = "5.0.4" -hyperlane-utils = "0.1.0" +hyperlane-utils = "0.1.1" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } From f9d88def50f8231679e658a156684a79aa317c8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 25 May 2025 19:32:10 +0800 Subject: [PATCH 183/260] feat: update lock --- frameworks/Rust/hyperlane/src/server.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index a5e3efff572..4cc56e14c3e 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -5,7 +5,7 @@ fn runtime() -> Runtime { .worker_threads(get_thread_count()) .thread_stack_size(1_048_576) .max_blocking_threads(1_024_000) - .max_io_events_per_tick(1_024_000) + .max_io_events_per_tick(10_240) .enable_all() .build() .unwrap() From 6981a7b1a8fc915f6a0fc1235618a9305c589fb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 25 May 2025 19:39:28 +0800 Subject: [PATCH 184/260] feat: update lock --- frameworks/Rust/hyperlane/src/server.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 4cc56e14c3e..5e17c60d4ed 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -4,8 +4,8 @@ fn runtime() -> Runtime { Builder::new_multi_thread() .worker_threads(get_thread_count()) .thread_stack_size(1_048_576) - .max_blocking_threads(1_024_000) - .max_io_events_per_tick(10_240) + .max_blocking_threads(2_048) + .max_io_events_per_tick(1_024) .enable_all() .build() .unwrap() From ee0846f19b886feebed81d7f6bc15e07aa07bde0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 25 May 2025 22:33:25 +0800 Subject: [PATCH 185/260] feat: update lock --- frameworks/Rust/hyperlane/src/request_middleware.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/request_middleware.rs b/frameworks/Rust/hyperlane/src/request_middleware.rs index ff75877b318..2550aa4b5fe 100644 --- a/frameworks/Rust/hyperlane/src/request_middleware.rs +++ b/frameworks/Rust/hyperlane/src/request_middleware.rs @@ -13,8 +13,11 @@ pub async fn request(ctx: Context) { } #[cfg(feature = "fortunes")] { - ctx.set_response_header(CONTENT_TYPE, content_type_charset(TEXT_HTML, UTF8)) - .await; + ctx.set_response_header( + CONTENT_TYPE, + ContentType::format_content_type_with_charset(TEXT_HTML, UTF8), + ) + .await; } #[cfg(any( feature = "json", From 9cecc9c765f68da7f24fefc3253ff9eaee7fa945 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 26 May 2025 21:48:21 +0800 Subject: [PATCH 186/260] feat: update lock --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 41a7e1ca9ec..0c54c8f66a4 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -681,9 +681,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "5.0.4" +version = "5.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa035d2147e53ac978f140a7664e0fad19756fdc15c0930abba2f3eab1cf1d05" +checksum = "c2a883326967d628a27ef5fd9e3833ad506a9d1b68afd11ce44f4da63e1567b4" dependencies = [ "http-type", "lombok-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 2f809a79ccd..f261e885aed 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.0.4" +hyperlane = "5.0.5" hyperlane-utils = "0.1.1" rand = "0.9.1" serde = "1.0.219" From a8b1a3c67a275a62785eff726f99514b43b1964e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 26 May 2025 21:54:16 +0800 Subject: [PATCH 187/260] feat: update lock --- frameworks/Rust/hyperlane/src/main.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 6d83065204a..09dbb09aa55 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -1,6 +1,5 @@ #![allow(dead_code)] #![allow(unused_imports)] - pub(crate) mod r#const; pub(crate) mod db; pub(crate) mod lazy; @@ -15,6 +14,8 @@ pub(crate) use db::*; pub(crate) use r#type::*; pub(crate) use utils::*; +pub(crate) use std::{fmt, hint::black_box, sync::Arc}; + pub(crate) use hyperlane::{ tokio::{ runtime::{Builder, Runtime}, @@ -38,7 +39,6 @@ pub(crate) use sqlx::{ postgres::{PgPoolOptions, PgRow}, *, }; -pub(crate) use std::{fmt, hint::black_box, sync::Arc}; fn main() { run_server(); From 891e79315dd5ba2be54ed5dd4b2e4140b5e442e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 27 May 2025 00:09:05 +0800 Subject: [PATCH 188/260] feat: update lock --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 0c54c8f66a4..aa747ab7699 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -681,9 +681,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "5.0.5" +version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a883326967d628a27ef5fd9e3833ad506a9d1b68afd11ce44f4da63e1567b4" +checksum = "bc280a7ed4ce2304d66cec78709105ab95e8efa0616a86e43b643a2acc8e827b" dependencies = [ "http-type", "lombok-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index f261e885aed..264f40b6e4d 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.0.5" +hyperlane = "5.1.0" hyperlane-utils = "0.1.1" rand = "0.9.1" serde = "1.0.219" From c05d76b09d1ba262b5ac6c3fe92c0138623389a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 27 May 2025 08:48:29 +0800 Subject: [PATCH 189/260] feat: update lock --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index aa747ab7699..f016462204c 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -681,9 +681,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "5.1.0" +version = "5.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc280a7ed4ce2304d66cec78709105ab95e8efa0616a86e43b643a2acc8e827b" +checksum = "513c916eb5cc45abb47e70ed6f7413282faacd9c3119291bcd1f3dc4b9b06108" dependencies = [ "http-type", "lombok-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 264f40b6e4d..9b9631a8478 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.1.0" +hyperlane = "5.2.2" hyperlane-utils = "0.1.1" rand = "0.9.1" serde = "1.0.219" From abb9714ab736250c6adaf5d5167c395bf6b2dafc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Wed, 28 May 2025 22:52:57 +0800 Subject: [PATCH 190/260] feat: update lock --- frameworks/Rust/hyperlane/Cargo.lock | 17 +++++++++-------- frameworks/Rust/hyperlane/Cargo.toml | 4 ++-- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index f016462204c..8bc0815a562 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -661,9 +661,9 @@ checksum = "1808d8983c7ca1d289188767327a24d3e6c0c6a741257745fd7fea9f8f7a7635" [[package]] name = "http-type" -version = "4.1.0" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "402bf8e61c1e41068d8795b145c6b7d3faca8ef5c3eba681958639701d31433f" +checksum = "ded56a6c9ab56e5ab5100c2f887e1a9460439da0ebcad8a09998f27a739f9e0f" dependencies = [ "dashmap", "hex", @@ -681,9 +681,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "5.2.2" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "513c916eb5cc45abb47e70ed6f7413282faacd9c3119291bcd1f3dc4b9b06108" +checksum = "0706a074ca90a966be02b809b75b68e530a61fc4ccf63c81065adb40bb83ce25" dependencies = [ "http-type", "lombok-macros", @@ -692,9 +692,9 @@ dependencies = [ [[package]] name = "hyperlane-broadcast" -version = "0.2.3" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3adf73a004af460c641dbd77a737209bccc36f979560c51e9d5b71d087df31f" +checksum = "6c042445f8429b09e538e0a00727d29c34082b1bd0b803ce0bba4f61156a699d" dependencies = [ "dashmap", "lombok-macros", @@ -721,9 +721,9 @@ checksum = "c145707425cdd097e117e8b4ee8baeaf8eb265658a5c37d2c4aa0b24fd26a507" [[package]] name = "hyperlane-utils" -version = "0.1.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93ab0654e8a524670b0e4d9f985cd04dc0213c0f7ef0574415939848b83a38e" +checksum = "4cceecbd5a1dfa9d3dbb6de667411d84b590e8aa5b27257d2be308c35562a13e" dependencies = [ "ahash", "bin-encode-decode", @@ -737,6 +737,7 @@ dependencies = [ "hex", "hyperlane-broadcast", "hyperlane-log", + "log", "lombok-macros", "num_cpus", "once_cell", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 9b9631a8478..41c8f2646b9 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,8 +18,8 @@ exclude = [ ] [dependencies] -hyperlane = "5.2.2" -hyperlane-utils = "0.1.1" +hyperlane = "5.3.0" +hyperlane-utils = "0.4.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } From d2a1f4ac6a1db5d96ce7b7086168cc45ca7f2fcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Thu, 29 May 2025 00:58:45 +0800 Subject: [PATCH 191/260] feat: update lock --- frameworks/Rust/hyperlane/Cargo.lock | 16 ++++++++-------- frameworks/Rust/hyperlane/Cargo.toml | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 8bc0815a562..73b27cb721b 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -661,9 +661,9 @@ checksum = "1808d8983c7ca1d289188767327a24d3e6c0c6a741257745fd7fea9f8f7a7635" [[package]] name = "http-type" -version = "4.2.0" +version = "4.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded56a6c9ab56e5ab5100c2f887e1a9460439da0ebcad8a09998f27a739f9e0f" +checksum = "033ac0e29073bd2c552b135a5074263d1cbf82d3ab8e05849aad867a78d5949a" dependencies = [ "dashmap", "hex", @@ -681,9 +681,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "5.3.0" +version = "5.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0706a074ca90a966be02b809b75b68e530a61fc4ccf63c81065adb40bb83ce25" +checksum = "c450649ce23878b5b0a757a4faf9ca1ca837ab9bae6c2b82cbc3e207d2f92fc5" dependencies = [ "http-type", "lombok-macros", @@ -692,9 +692,9 @@ dependencies = [ [[package]] name = "hyperlane-broadcast" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c042445f8429b09e538e0a00727d29c34082b1bd0b803ce0bba4f61156a699d" +checksum = "d10d26d30398580d6e5535a1f706507aeaa069a30f9959b5299dc066a112a396" dependencies = [ "dashmap", "lombok-macros", @@ -721,9 +721,9 @@ checksum = "c145707425cdd097e117e8b4ee8baeaf8eb265658a5c37d2c4aa0b24fd26a507" [[package]] name = "hyperlane-utils" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cceecbd5a1dfa9d3dbb6de667411d84b590e8aa5b27257d2be308c35562a13e" +checksum = "435663d62a9b1cc9f41fa8d89448f8eae8bfe68016b3cefd8106526d3fd59993" dependencies = [ "ahash", "bin-encode-decode", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 41c8f2646b9..be4adb20497 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,8 +18,8 @@ exclude = [ ] [dependencies] -hyperlane = "5.3.0" -hyperlane-utils = "0.4.0" +hyperlane = "5.5.1" +hyperlane-utils = "0.5.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } From f845049fa5c42c2a6b4f3ccc53ad9c9a3d1a50fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Thu, 29 May 2025 20:45:21 +0800 Subject: [PATCH 192/260] feat: update lock --- frameworks/Rust/hyperlane/Cargo.lock | 8 ++++---- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 73b27cb721b..77a19c54bdb 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -661,9 +661,9 @@ checksum = "1808d8983c7ca1d289188767327a24d3e6c0c6a741257745fd7fea9f8f7a7635" [[package]] name = "http-type" -version = "4.5.0" +version = "4.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "033ac0e29073bd2c552b135a5074263d1cbf82d3ab8e05849aad867a78d5949a" +checksum = "e1323e4bed6c8f56bc77fdba9141121568cd1fb399ad48fea92919a85c5601e9" dependencies = [ "dashmap", "hex", @@ -681,9 +681,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "5.5.1" +version = "5.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c450649ce23878b5b0a757a4faf9ca1ca837ab9bae6c2b82cbc3e207d2f92fc5" +checksum = "61cb0781fcf47dc16788eb0b35854de2bc7a7d55432abf89d78f52b9fa2e5117" dependencies = [ "http-type", "lombok-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index be4adb20497..96514f0046a 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.5.1" +hyperlane = "5.8.0" hyperlane-utils = "0.5.0" rand = "0.9.1" serde = "1.0.219" From 202c36504c6602f98f7842b598932174881fd985 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Thu, 29 May 2025 20:48:22 +0800 Subject: [PATCH 193/260] Merge remote-tracking branch 'upstream/master' --- frameworks/Rust/hyperlane/Cargo.lock | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 8d5d162f1ca..a0d3e927e05 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -99,12 +99,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65d0c660f94a990c6e9015951188fcb5bebc4d21b6dd82244597aab2ad47dc36" -[[package]] -name = "bin-encode-decode" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65d0c660f94a990c6e9015951188fcb5bebc4d21b6dd82244597aab2ad47dc36" - [[package]] name = "bitflags" version = "2.9.1" @@ -661,9 +655,9 @@ dependencies = [ [[package]] name = "http-constant" -version = "1.42.4" +version = "1.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1808d8983c7ca1d289188767327a24d3e6c0c6a741257745fd7fea9f8f7a7635" +checksum = "c206e4f9a9bc18a40b387ffdfee9b1204fb692da1eee32d35b6fa9f07447d960" [[package]] name = "http-type" @@ -820,9 +814,9 @@ checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" [[package]] name = "icu_properties" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2549ca8c7241c82f59c80ba2a6f415d931c5b58d24fb8412caa1a1f02c49139a" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" dependencies = [ "displaydoc", "icu_collections", @@ -836,9 +830,9 @@ dependencies = [ [[package]] name = "icu_properties_data" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8197e866e47b68f8f7d95249e172903bec06004b18b2937f1095d40a0c57de04" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" [[package]] name = "icu_provider" @@ -995,13 +989,13 @@ dependencies = [ [[package]] name = "mio" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1495,9 +1489,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", "windows-sys 0.52.0", From 54dad08d133e31634feb53725c35e25cace2de9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Thu, 29 May 2025 21:20:01 +0800 Subject: [PATCH 194/260] feat: update --- frameworks/Rust/hyperlane/config.toml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/config.toml b/frameworks/Rust/hyperlane/config.toml index 3871bc56afe..598616e6b2e 100644 --- a/frameworks/Rust/hyperlane/config.toml +++ b/frameworks/Rust/hyperlane/config.toml @@ -2,10 +2,13 @@ name = "hyperlane" [main] -urls.plaintext = "/plaintext" urls.json = "/json" +urls.plaintext = "/plaintext" +urls.fortunes = "/fortunes" urls.db = "/db" -urls.query = "/queries?q=" +urls.query = "/query?q=" +urls.update = "/upda?q=" +urls.cached_query = "/cached-quer?c=" approach = "Realistic" classification = "Micro" database = "Postgres" From c884aa5e811e1ab5069ff2acb8f6fb071712b102 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Thu, 29 May 2025 21:29:33 +0800 Subject: [PATCH 195/260] feat: utf8 --- frameworks/Rust/hyperlane/src/request_middleware.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/request_middleware.rs b/frameworks/Rust/hyperlane/src/request_middleware.rs index 2550aa4b5fe..cfe5e267355 100644 --- a/frameworks/Rust/hyperlane/src/request_middleware.rs +++ b/frameworks/Rust/hyperlane/src/request_middleware.rs @@ -9,7 +9,11 @@ pub async fn request(ctx: Context) { .await; #[cfg(feature = "plaintext")] { - ctx.set_response_header(CONTENT_TYPE, TEXT_PLAIN).await; + ctx.set_response_header( + CONTENT_TYPE, + ContentType::format_content_type_with_charset(TEXT_PLAIN, UTF8), + ) + .await; } #[cfg(feature = "fortunes")] { From c6517d46627df4cf311563fb14a1da55c5a59597 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Thu, 29 May 2025 21:32:19 +0800 Subject: [PATCH 196/260] feat: utf8 --- frameworks/Rust/hyperlane/src/request_middleware.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/request_middleware.rs b/frameworks/Rust/hyperlane/src/request_middleware.rs index cfe5e267355..2550aa4b5fe 100644 --- a/frameworks/Rust/hyperlane/src/request_middleware.rs +++ b/frameworks/Rust/hyperlane/src/request_middleware.rs @@ -9,11 +9,7 @@ pub async fn request(ctx: Context) { .await; #[cfg(feature = "plaintext")] { - ctx.set_response_header( - CONTENT_TYPE, - ContentType::format_content_type_with_charset(TEXT_PLAIN, UTF8), - ) - .await; + ctx.set_response_header(CONTENT_TYPE, TEXT_PLAIN).await; } #[cfg(feature = "fortunes")] { From 84a411f83fc1d077df79f6145a32196269df6b14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 30 May 2025 08:42:44 +0800 Subject: [PATCH 197/260] feat: lock --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index a0d3e927e05..f7729031b74 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -681,9 +681,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "5.8.0" +version = "5.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61cb0781fcf47dc16788eb0b35854de2bc7a7d55432abf89d78f52b9fa2e5117" +checksum = "9ef8e90dced2590ddd783af2612aca1203d26f2750701bcea57013335f662c44" dependencies = [ "http-type", "lombok-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 96514f0046a..cd94eac5a45 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.8.0" +hyperlane = "5.9.0" hyperlane-utils = "0.5.0" rand = "0.9.1" serde = "1.0.219" From 00b1e0c2b41950c88751dc0aaa129b44e7b4de28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 30 May 2025 21:59:26 +0800 Subject: [PATCH 198/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 8 ++++---- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index f7729031b74..ea0eced3272 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -661,9 +661,9 @@ checksum = "c206e4f9a9bc18a40b387ffdfee9b1204fb692da1eee32d35b6fa9f07447d960" [[package]] name = "http-type" -version = "4.7.0" +version = "4.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1323e4bed6c8f56bc77fdba9141121568cd1fb399ad48fea92919a85c5601e9" +checksum = "6b14e4120a0ff0ddcb057ba6779ee5079a1ed18f56b00d08841bc6262acc6495" dependencies = [ "dashmap", "hex", @@ -681,9 +681,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "5.9.0" +version = "5.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ef8e90dced2590ddd783af2612aca1203d26f2750701bcea57013335f662c44" +checksum = "7d7e2d83866c7d60cfec0c9cb165a308cab446d9d7227b4e062f1e2ecbb90216" dependencies = [ "http-type", "lombok-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index cd94eac5a45..18060eafff8 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.9.0" +hyperlane = "5.10.0" hyperlane-utils = "0.5.0" rand = "0.9.1" serde = "1.0.219" From ecec28f6224fb155ba870da51e9c8aa8d7f638b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 30 May 2025 23:25:31 +0800 Subject: [PATCH 199/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 18 +++++++++--------- frameworks/Rust/hyperlane/Cargo.toml | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index ea0eced3272..976fff875bd 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -661,9 +661,9 @@ checksum = "c206e4f9a9bc18a40b387ffdfee9b1204fb692da1eee32d35b6fa9f07447d960" [[package]] name = "http-type" -version = "4.9.1" +version = "4.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b14e4120a0ff0ddcb057ba6779ee5079a1ed18f56b00d08841bc6262acc6495" +checksum = "69c40d1bcd7d62bd8d7ba3495c77985ba1dd6f83615c07c3c0115ede19471148" dependencies = [ "dashmap", "hex", @@ -674,16 +674,15 @@ dependencies = [ "serde-xml-rs", "serde_json", "serde_urlencoded", - "std-macro-extensions", "tokio", "url", ] [[package]] name = "hyperlane" -version = "5.10.0" +version = "5.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d7e2d83866c7d60cfec0c9cb165a308cab446d9d7227b4e062f1e2ecbb90216" +checksum = "268c531ac2db87a5f2303626894c54cdc71258f0e4ef66888bdd45a4fb38d132" dependencies = [ "http-type", "lombok-macros", @@ -721,9 +720,9 @@ checksum = "c145707425cdd097e117e8b4ee8baeaf8eb265658a5c37d2c4aa0b24fd26a507" [[package]] name = "hyperlane-utils" -version = "0.5.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435663d62a9b1cc9f41fa8d89448f8eae8bfe68016b3cefd8106526d3fd59993" +checksum = "efc0786ea14d074594219dbef01259c85ea550ae40962be38108db41195a9e3e" dependencies = [ "ahash", "bin-encode-decode", @@ -749,6 +748,7 @@ dependencies = [ "serde_urlencoded", "server-manager", "simd-json", + "std-macro-extensions", "twox-hash", "url", "urlencoding", @@ -1712,9 +1712,9 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "std-macro-extensions" -version = "0.23.2" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa17898d2c4216a85ad32abd51101b6eab0adef954ed1393c4557ba378625ade" +checksum = "608674e57da06083d40aa7b9949e1682d54dadca0f39a2b69b5184944532f7e6" [[package]] name = "stringprep" diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 18060eafff8..8a5fa6b7be8 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,8 +18,8 @@ exclude = [ ] [dependencies] -hyperlane = "5.10.0" -hyperlane-utils = "0.5.0" +hyperlane = "5.11.0" +hyperlane-utils = "0.7.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } From 9050c56da05a309a1bae46ee318a5a13ad9c15ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 30 May 2025 23:57:06 +0800 Subject: [PATCH 200/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 8 ++++---- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 976fff875bd..bf584c8d902 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -720,9 +720,9 @@ checksum = "c145707425cdd097e117e8b4ee8baeaf8eb265658a5c37d2c4aa0b24fd26a507" [[package]] name = "hyperlane-utils" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efc0786ea14d074594219dbef01259c85ea550ae40962be38108db41195a9e3e" +checksum = "6422f6460295cc064056fba4020747e955738b2b12d1231edfc18d3697d12f37" dependencies = [ "ahash", "bin-encode-decode", @@ -1712,9 +1712,9 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "std-macro-extensions" -version = "0.25.0" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608674e57da06083d40aa7b9949e1682d54dadca0f39a2b69b5184944532f7e6" +checksum = "a35e64ebd4e130e82fbcd036b66007e97ab95803080c51286cf6ec5cf9c7d546" [[package]] name = "stringprep" diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 8a5fa6b7be8..ef65eb2c36c 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -19,7 +19,7 @@ exclude = [ [dependencies] hyperlane = "5.11.0" -hyperlane-utils = "0.7.0" +hyperlane-utils = "0.7.1" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } From a7c1389a4678288bf9f5e0702f5e8d3ae85fdba2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 31 May 2025 13:56:01 +0800 Subject: [PATCH 201/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 31 +++++++++++++++++----------- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index bf584c8d902..6c1d7ef8e90 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -177,9 +177,9 @@ dependencies = [ [[package]] name = "clonelicious" -version = "2.0.3" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7d51b119ca46e37c21508debf8d9823521be05a70e32ee5afc7695ae1cfb4ec" +checksum = "fd646e01c20889af081dc20be3aeea14aaaeb87f60f68799483ad716baa33020" [[package]] name = "color-output" @@ -416,9 +416,9 @@ dependencies = [ [[package]] name = "future-fn" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a60fa5df978d3b02f58da08ae2e47d2bb8b19f765a693eaa9e5e8045b3925d" +checksum = "472364b0e6f990c5d86b3fb5d99003898ae88af155b82575d6ca67ef554a9426" [[package]] name = "futures" @@ -605,9 +605,9 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.3.9" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08" [[package]] name = "hex" @@ -642,6 +642,12 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "hot-restart" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a35c1ce67dc1d078f54ea1ed5293a49f11d63ff3a03b71c046319c31c9e4d243" + [[package]] name = "http-compress" version = "2.13.5" @@ -720,9 +726,9 @@ checksum = "c145707425cdd097e117e8b4ee8baeaf8eb265658a5c37d2c4aa0b24fd26a507" [[package]] name = "hyperlane-utils" -version = "0.7.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6422f6460295cc064056fba4020747e955738b2b12d1231edfc18d3697d12f37" +checksum = "5e6031037d894539b963f2541e8c2ebdec5ddd00d235639beafef42bb28d6309" dependencies = [ "ahash", "bin-encode-decode", @@ -734,6 +740,7 @@ dependencies = [ "future-fn", "futures", "hex", + "hot-restart", "hyperlane-broadcast", "hyperlane-log", "log", @@ -1047,9 +1054,9 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" dependencies = [ "hermit-abi", "libc", @@ -1400,9 +1407,9 @@ dependencies = [ [[package]] name = "server-manager" -version = "3.2.4" +version = "3.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6936d74a2263590ed722bdf27315b693b8a84a5dffdb3b47a9b7c0a7b50396b" +checksum = "44ef1cee6952595d4726b88ffbb1535f123955c0af5c2dbf508c643efc684c94" dependencies = [ "tokio", ] diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index ef65eb2c36c..cfa93bab0a5 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -19,7 +19,7 @@ exclude = [ [dependencies] hyperlane = "5.11.0" -hyperlane-utils = "0.7.1" +hyperlane-utils = "0.11.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } From 4a95a22c0dd10aa04792f36899e9b831f59d173d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 1 Jun 2025 23:36:46 +0800 Subject: [PATCH 202/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 618 ++++++++++++++++++++++++++- frameworks/Rust/hyperlane/Cargo.toml | 4 +- 2 files changed, 614 insertions(+), 8 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 6c1d7ef8e90..13df657a0ce 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -2,6 +2,182 @@ # It is not intended for manual editing. version = 4 +[[package]] +name = "actix-codec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a" +dependencies = [ + "bitflags", + "bytes", + "futures-core", + "futures-sink", + "memchr", + "pin-project-lite", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "actix-http" +version = "3.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44dfe5c9e0004c623edc65391dfd51daa201e7e30ebd9c9bedf873048ec32bc2" +dependencies = [ + "actix-codec", + "actix-rt", + "actix-service", + "actix-utils", + "base64", + "bitflags", + "bytes", + "bytestring", + "derive_more", + "encoding_rs", + "foldhash", + "futures-core", + "http", + "httparse", + "httpdate", + "itoa", + "language-tags", + "local-channel", + "mime", + "percent-encoding", + "pin-project-lite", + "rand 0.9.1", + "sha1", + "smallvec", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "actix-macros" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" +dependencies = [ + "quote", + "syn", +] + +[[package]] +name = "actix-router" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13d324164c51f63867b57e73ba5936ea151b8a41a1d23d1031eeb9f70d0236f8" +dependencies = [ + "bytestring", + "cfg-if", + "http", + "regex-lite", + "serde", + "tracing", +] + +[[package]] +name = "actix-rt" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24eda4e2a6e042aa4e55ac438a2ae052d3b5da0ecf83d7411e1a368946925208" +dependencies = [ + "futures-core", + "tokio", +] + +[[package]] +name = "actix-server" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a65064ea4a457eaf07f2fba30b4c695bf43b721790e9530d26cb6f9019ff7502" +dependencies = [ + "actix-rt", + "actix-service", + "actix-utils", + "futures-core", + "futures-util", + "mio", + "socket2", + "tokio", + "tracing", +] + +[[package]] +name = "actix-service" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e46f36bf0e5af44bdc4bdb36fbbd421aa98c79a9bce724e1edeb3894e10dc7f" +dependencies = [ + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "actix-utils" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88a1dcdff1466e3c2488e1cb5c36a71822750ad43839937f85d2f4d9f8b705d8" +dependencies = [ + "local-waker", + "pin-project-lite", +] + +[[package]] +name = "actix-web" +version = "4.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a597b77b5c6d6a1e1097fddde329a83665e25c5437c696a3a9a4aa514a614dea" +dependencies = [ + "actix-codec", + "actix-http", + "actix-macros", + "actix-router", + "actix-rt", + "actix-server", + "actix-service", + "actix-utils", + "actix-web-codegen", + "bytes", + "bytestring", + "cfg-if", + "derive_more", + "encoding_rs", + "foldhash", + "futures-core", + "futures-util", + "impl-more", + "itoa", + "language-tags", + "log", + "mime", + "once_cell", + "pin-project-lite", + "regex-lite", + "serde", + "serde_json", + "serde_urlencoded", + "smallvec", + "socket2", + "time", + "tracing", + "url", +] + +[[package]] +name = "actix-web-codegen" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f591380e2e68490b5dfaf1dd1aa0ebe78d84ba7067078512b4ea6e4492d622b8" +dependencies = [ + "actix-router", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "addr2line" version = "0.24.2" @@ -30,6 +206,15 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + [[package]] name = "alloc-no-stdlib" version = "2.0.4" @@ -51,6 +236,15 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" +[[package]] +name = "arbitrary" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" +dependencies = [ + "derive_arbitrary", +] + [[package]] name = "atoi" version = "2.0.0" @@ -156,6 +350,15 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +[[package]] +name = "bytestring" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e465647ae23b2823b0753f50decb2d5a86d2bb2cac04788fafd1f80e45378e5f" +dependencies = [ + "bytes", +] + [[package]] name = "cfg-if" version = "1.0.0" @@ -294,6 +497,47 @@ dependencies = [ "zeroize", ] +[[package]] +name = "deranged" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" +dependencies = [ + "powerfmt", +] + +[[package]] +name = "derive_arbitrary" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "derive_more" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "unicode-xid", +] + [[package]] name = "digest" version = "0.10.7" @@ -332,6 +576,15 @@ dependencies = [ "serde", ] +[[package]] +name = "encoding_rs" +version = "0.8.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +dependencies = [ + "cfg-if", +] + [[package]] name = "equivalent" version = "1.0.2" @@ -376,6 +629,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" dependencies = [ "crc32fast", + "libz-rs-sys", "miniz_oxide", ] @@ -399,6 +653,12 @@ dependencies = [ "spin", ] +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + [[package]] name = "foldhash" version = "0.1.5" @@ -648,6 +908,17 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a35c1ce67dc1d078f54ea1ed5293a49f11d63ff3a03b71c046319c31c9e4d243" +[[package]] +name = "http" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + [[package]] name = "http-compress" version = "2.13.5" @@ -684,14 +955,27 @@ dependencies = [ "url", ] +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + [[package]] name = "hyperlane" -version = "5.11.0" +version = "5.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "268c531ac2db87a5f2303626894c54cdc71258f0e4ef66888bdd45a4fb38d132" +checksum = "25fcbec5d980f033ad02bdda35109b938944c0465ddd983a05a8890e07afe3a8" dependencies = [ "http-type", "lombok-macros", + "regex", "serde", ] @@ -726,9 +1010,9 @@ checksum = "c145707425cdd097e117e8b4ee8baeaf8eb265658a5c37d2c4aa0b24fd26a507" [[package]] name = "hyperlane-utils" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6031037d894539b963f2541e8c2ebdec5ddd00d235639beafef42bb28d6309" +checksum = "8ccdba611d23b75413205b6d8d28cbdfb55b42bf3e06b43497931a78753dd7f9" dependencies = [ "ahash", "bin-encode-decode", @@ -759,6 +1043,9 @@ dependencies = [ "twox-hash", "url", "urlencoding", + "utoipa", + "utoipa-rapidoc", + "utoipa-swagger-ui", ] [[package]] @@ -879,6 +1166,12 @@ dependencies = [ "icu_properties", ] +[[package]] +name = "impl-more" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8a5a9a0ff0086c7a148acb942baaabeadf9504d10400b5a05645853729b9cd2" + [[package]] name = "indexmap" version = "2.9.0" @@ -887,6 +1180,7 @@ checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", "hashbrown 0.15.3", + "serde", ] [[package]] @@ -905,6 +1199,12 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "language-tags" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388" + [[package]] name = "lazy_static" version = "1.5.0" @@ -936,12 +1236,38 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "libz-rs-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6489ca9bd760fe9642d7644e827b0c9add07df89857b0416ee15c1cc1a3b8c5a" +dependencies = [ + "zlib-rs", +] + [[package]] name = "litemap" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" +[[package]] +name = "local-channel" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6cbc85e69b8df4b8bb8b89ec634e7189099cea8927a276b7384ce5488e53ec8" +dependencies = [ + "futures-core", + "futures-sink", + "local-waker", +] + +[[package]] +name = "local-waker" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d873d7c67ce09b42110d801813efbc9364414e356be9935700d368351657487" + [[package]] name = "lock_api" version = "0.4.12" @@ -985,6 +1311,22 @@ version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "mime_guess" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +dependencies = [ + "mime", + "unicase", +] + [[package]] name = "miniz_oxide" version = "0.8.8" @@ -1001,6 +1343,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", + "log", "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.59.0", ] @@ -1022,6 +1365,12 @@ dependencies = [ "zeroize", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-integer" version = "0.1.46" @@ -1169,6 +1518,12 @@ dependencies = [ "zerovec", ] +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.21" @@ -1311,6 +1666,41 @@ dependencies = [ "syn", ] +[[package]] +name = "regex" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-lite" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a" + +[[package]] +name = "regex-syntax" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + [[package]] name = "rsa" version = "0.9.8" @@ -1331,6 +1721,40 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rust-embed" +version = "8.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "025908b8682a26ba8d12f6f2d66b987584a4a87bc024abc5bbc12553a8cd178a" +dependencies = [ + "rust-embed-impl", + "rust-embed-utils", + "walkdir", +] + +[[package]] +name = "rust-embed-impl" +version = "8.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6065f1a4392b71819ec1ea1df1120673418bf386f50de1d6f54204d836d4349c" +dependencies = [ + "proc-macro2", + "quote", + "rust-embed-utils", + "syn", + "walkdir", +] + +[[package]] +name = "rust-embed-utils" +version = "8.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6cc0c81648b20b70c491ff8cce00c1c3b223bb8ed2b5d41f0e54c6c4c0a3594" +dependencies = [ + "sha2", + "walkdir", +] + [[package]] name = "rustc-demangle" version = "0.1.24" @@ -1343,6 +1767,15 @@ version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + [[package]] name = "scopeguard" version = "1.2.0" @@ -1360,9 +1793,9 @@ dependencies = [ [[package]] name = "serde-xml-rs" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176b7ff880ab6ead7a020e773e9c096467fe347615a3e22ac29300cbdef67a5d" +checksum = "53630160a98edebde0123eb4dfd0fce6adff091b2305db3154a9e920206eb510" dependencies = [ "log", "serde", @@ -1455,6 +1888,12 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + [[package]] name = "simd-json" version = "0.15.1" @@ -1802,6 +2241,37 @@ dependencies = [ "syn", ] +[[package]] +name = "time" +version = "0.3.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" + +[[package]] +name = "time-macros" +version = "0.2.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" +dependencies = [ + "num-conv", + "time-core", +] + [[package]] name = "tinystr" version = "0.8.1" @@ -1867,6 +2337,19 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-util" +version = "0.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + [[package]] name = "tracing" version = "0.1.41" @@ -1914,6 +2397,12 @@ version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" +[[package]] +name = "unicase" +version = "2.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" + [[package]] name = "unicode-bidi" version = "0.3.18" @@ -1941,6 +2430,12 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + [[package]] name = "url" version = "2.5.4" @@ -1964,6 +2459,66 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" +[[package]] +name = "utoipa" +version = "5.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435c6f69ef38c9017b4b4eea965dfb91e71e53d869e896db40d1cf2441dd75c0" +dependencies = [ + "indexmap", + "serde", + "serde_json", + "utoipa-gen", +] + +[[package]] +name = "utoipa-gen" +version = "5.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a77d306bc75294fd52f3e99b13ece67c02c1a2789190a6f31d32f736624326f7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "utoipa-rapidoc" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5f8f5abd341cce16bb4f09a8bafc087d4884a004f25fb980e538d51d6501dab" +dependencies = [ + "actix-web", + "serde", + "serde_json", + "utoipa", +] + +[[package]] +name = "utoipa-swagger-ui" +version = "9.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d047458f1b5b65237c2f6dc6db136945667f40a7668627b3490b9513a3d43a55" +dependencies = [ + "actix-web", + "base64", + "mime_guess", + "regex", + "rust-embed", + "serde", + "serde_json", + "url", + "utoipa", + "utoipa-swagger-ui-vendored", + "zip", +] + +[[package]] +name = "utoipa-swagger-ui-vendored" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2eebbbfe4093922c2b6734d7c679ebfebd704a0d7e56dfcb0d05818ce28977d" + [[package]] name = "value-trait" version = "0.11.0" @@ -1988,6 +2543,16 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -2076,6 +2641,15 @@ dependencies = [ "wasite", ] +[[package]] +name = "winapi-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +dependencies = [ + "windows-sys 0.59.0", +] + [[package]] name = "windows-sys" version = "0.48.0" @@ -2348,3 +2922,35 @@ dependencies = [ "quote", "syn", ] + +[[package]] +name = "zip" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12598812502ed0105f607f941c386f43d441e00148fce9dec3ca5ffb0bde9308" +dependencies = [ + "arbitrary", + "crc32fast", + "flate2", + "indexmap", + "memchr", + "zopfli", +] + +[[package]] +name = "zlib-rs" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "868b928d7949e09af2f6086dfc1e01936064cc7a819253bce650d4e2a2d63ba8" + +[[package]] +name = "zopfli" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edfc5ee405f504cd4984ecc6f14d02d55cfda60fa4b689434ef4102aae150cd7" +dependencies = [ + "bumpalo", + "crc32fast", + "log", + "simd-adler32", +] diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index cfa93bab0a5..17e9ec57ed5 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,8 +18,8 @@ exclude = [ ] [dependencies] -hyperlane = "5.11.0" -hyperlane-utils = "0.11.0" +hyperlane = "5.12.0" +hyperlane-utils = "0.12.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } From 624a144d06b2eda4fbb5dd6719033c5928b77709 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 2 Jun 2025 20:01:41 +0800 Subject: [PATCH 203/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 13df657a0ce..7502766b3de 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -969,9 +969,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.12.0" +version = "5.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25fcbec5d980f033ad02bdda35109b938944c0465ddd983a05a8890e07afe3a8" +checksum = "06f80d622527d5d55f396113acd7a78a099deb5a15b23d7ea57d9651422da35d" dependencies = [ "http-type", "lombok-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 17e9ec57ed5..877302121d7 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.12.0" +hyperlane = "5.12.1" hyperlane-utils = "0.12.0" rand = "0.9.1" serde = "1.0.219" From cd1d53aeaad0138ed612980120bd3aaaefa172a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 2 Jun 2025 21:15:10 +0800 Subject: [PATCH 204/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 42 +++++++++++++++++----------- frameworks/Rust/hyperlane/Cargo.toml | 4 +-- 2 files changed, 27 insertions(+), 19 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 7502766b3de..12d1f5c139b 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -938,9 +938,9 @@ checksum = "c206e4f9a9bc18a40b387ffdfee9b1204fb692da1eee32d35b6fa9f07447d960" [[package]] name = "http-type" -version = "4.10.0" +version = "4.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69c40d1bcd7d62bd8d7ba3495c77985ba1dd6f83615c07c3c0115ede19471148" +checksum = "d142300e68e039491f110c0493204474fa357fa92d8e9e609f087707a26074fa" dependencies = [ "dashmap", "hex", @@ -969,9 +969,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.12.1" +version = "5.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06f80d622527d5d55f396113acd7a78a099deb5a15b23d7ea57d9651422da35d" +checksum = "58eb5f8a727becef89e5c610188075a3d296d9950b7297f353b87eeb0465b257" dependencies = [ "http-type", "lombok-macros", @@ -981,27 +981,35 @@ dependencies = [ [[package]] name = "hyperlane-broadcast" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d10d26d30398580d6e5535a1f706507aeaa069a30f9959b5299dc066a112a396" +checksum = "7764d7256c4a54e929d2d82176108a718b2493ec982b353e382971b1fa02707e" dependencies = [ "dashmap", - "lombok-macros", "tokio", ] [[package]] name = "hyperlane-log" -version = "1.16.9" +version = "1.16.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e822ed456ed2b07e3d038ed2275cabcce56651110bebb20c7d3fd699ce5c4602" +checksum = "882149ef5ae7a912ed33f89c3b35a3b000a2a848a7c5cd160a3298193cefb561" dependencies = [ "file-operation", "hyperlane-time", - "lombok-macros", "tokio", ] +[[package]] +name = "hyperlane-plugin-websocket" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "573c885f47a83785d37a5d7793ed7c6cc22df07032833dacb0c10fcd9a46aca9" +dependencies = [ + "hyperlane", + "hyperlane-broadcast", +] + [[package]] name = "hyperlane-time" version = "0.5.5" @@ -1010,9 +1018,9 @@ checksum = "c145707425cdd097e117e8b4ee8baeaf8eb265658a5c37d2c4aa0b24fd26a507" [[package]] name = "hyperlane-utils" -version = "0.12.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ccdba611d23b75413205b6d8d28cbdfb55b42bf3e06b43497931a78753dd7f9" +checksum = "d26daca26f47551f1d5369cfbfe57ba4ba144e67945ef2c7e86545dbf1b26279" dependencies = [ "ahash", "bin-encode-decode", @@ -1027,6 +1035,7 @@ dependencies = [ "hot-restart", "hyperlane-broadcast", "hyperlane-log", + "hyperlane-plugin-websocket", "log", "lombok-macros", "num_cpus", @@ -1286,9 +1295,9 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "lombok-macros" -version = "1.11.4" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10cee2ce690915c2b491c9ea0d2d8e3daa3e30bcc55cc15fd9297b2566c4522e" +checksum = "009c79e9d87f8b0a79b8350fc03ffeb9d4cefd632c47c3b7ea1f2fba72d70ade" dependencies = [ "proc-macro2", "quote", @@ -1628,11 +1637,10 @@ dependencies = [ [[package]] name = "recoverable-thread-pool" -version = "2.3.7" +version = "2.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47914cafb04d7ac1e20031c17f7831c282d7ed730c86be0480c4db6347b339c5" +checksum = "61323b7a7b470393e0a2ef3383ac50c2e19012b4aacea1101051a7cf8dc593fc" dependencies = [ - "lombok-macros", "recoverable-spawn", "tokio", ] diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 877302121d7..81c7b85495e 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,8 +18,8 @@ exclude = [ ] [dependencies] -hyperlane = "5.12.1" -hyperlane-utils = "0.12.0" +hyperlane = "5.12.2" +hyperlane-utils = "0.14.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } From a9eb9df7585aec08c2789487876930f4e0b38279 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 2 Jun 2025 21:35:33 +0800 Subject: [PATCH 205/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 8 ++++---- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 12d1f5c139b..9eb68bb5f63 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -991,9 +991,9 @@ dependencies = [ [[package]] name = "hyperlane-log" -version = "1.16.10" +version = "1.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "882149ef5ae7a912ed33f89c3b35a3b000a2a848a7c5cd160a3298193cefb561" +checksum = "e13b62d620a3b339273b0af1433bb8631eecdc7310ee81db183876beb2b6f765" dependencies = [ "file-operation", "hyperlane-time", @@ -1018,9 +1018,9 @@ checksum = "c145707425cdd097e117e8b4ee8baeaf8eb265658a5c37d2c4aa0b24fd26a507" [[package]] name = "hyperlane-utils" -version = "0.14.0" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26daca26f47551f1d5369cfbfe57ba4ba144e67945ef2c7e86545dbf1b26279" +checksum = "403823835c33b49572d2ece876f7111f8059b5c2ed949a5dacbcf39c84f43b1b" dependencies = [ "ahash", "bin-encode-decode", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 81c7b85495e..48a9016db0d 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -19,7 +19,7 @@ exclude = [ [dependencies] hyperlane = "5.12.2" -hyperlane-utils = "0.14.0" +hyperlane-utils = "0.15.2" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } From 16dd37bc4da8cdd991acb7ddcdbc22ffcbba8a77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 2 Jun 2025 22:17:15 +0800 Subject: [PATCH 206/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 8 ++++---- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 9eb68bb5f63..0c353e23efc 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -991,9 +991,9 @@ dependencies = [ [[package]] name = "hyperlane-log" -version = "1.17.2" +version = "1.17.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13b62d620a3b339273b0af1433bb8631eecdc7310ee81db183876beb2b6f765" +checksum = "b2a07f72a789eaed32a981cd3f60c5ca10643e23ba7cfb715a9a835cb58cc5d4" dependencies = [ "file-operation", "hyperlane-time", @@ -1018,9 +1018,9 @@ checksum = "c145707425cdd097e117e8b4ee8baeaf8eb265658a5c37d2c4aa0b24fd26a507" [[package]] name = "hyperlane-utils" -version = "0.15.2" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403823835c33b49572d2ece876f7111f8059b5c2ed949a5dacbcf39c84f43b1b" +checksum = "60b80d64f39d942da7f4b9371dddbfd4568c5d7b1bdf52b83f954d961c6be802" dependencies = [ "ahash", "bin-encode-decode", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 48a9016db0d..3c5543c4045 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -19,7 +19,7 @@ exclude = [ [dependencies] hyperlane = "5.12.2" -hyperlane-utils = "0.15.2" +hyperlane-utils = "0.15.3" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } From 7cdf458556bd9679c7f391701b06cf78bc889f84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Wed, 4 Jun 2025 09:01:24 +0800 Subject: [PATCH 207/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 8 ++++---- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 0c353e23efc..ee8ba2753b4 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -938,9 +938,9 @@ checksum = "c206e4f9a9bc18a40b387ffdfee9b1204fb692da1eee32d35b6fa9f07447d960" [[package]] name = "http-type" -version = "4.10.1" +version = "4.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d142300e68e039491f110c0493204474fa357fa92d8e9e609f087707a26074fa" +checksum = "da7fc6faa2442bddb41bcbc8ed0d0171412afa93d30968e9601279c391f3d8d7" dependencies = [ "dashmap", "hex", @@ -969,9 +969,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.12.2" +version = "5.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58eb5f8a727becef89e5c610188075a3d296d9950b7297f353b87eeb0465b257" +checksum = "f8835226f5eed5906e02cfd8ab164140ca5b67c223353dc9ff494599f6d646ea" dependencies = [ "http-type", "lombok-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 3c5543c4045..49dc66ea97a 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.12.2" +hyperlane = "5.13.0" hyperlane-utils = "0.15.3" rand = "0.9.1" serde = "1.0.219" From 8d861469d2a87969957e89c25a830ee7ac12f756 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Wed, 4 Jun 2025 09:06:15 +0800 Subject: [PATCH 208/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 15 ++------------- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index ee8ba2753b4..ed61ad32843 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -1000,16 +1000,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "hyperlane-plugin-websocket" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "573c885f47a83785d37a5d7793ed7c6cc22df07032833dacb0c10fcd9a46aca9" -dependencies = [ - "hyperlane", - "hyperlane-broadcast", -] - [[package]] name = "hyperlane-time" version = "0.5.5" @@ -1018,9 +1008,9 @@ checksum = "c145707425cdd097e117e8b4ee8baeaf8eb265658a5c37d2c4aa0b24fd26a507" [[package]] name = "hyperlane-utils" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b80d64f39d942da7f4b9371dddbfd4568c5d7b1bdf52b83f954d961c6be802" +checksum = "cce8fa4a2f74cb8204312604036aa86026f33f0b36a9343a69b53d5f68977978" dependencies = [ "ahash", "bin-encode-decode", @@ -1035,7 +1025,6 @@ dependencies = [ "hot-restart", "hyperlane-broadcast", "hyperlane-log", - "hyperlane-plugin-websocket", "log", "lombok-macros", "num_cpus", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 49dc66ea97a..d25136186dc 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -19,7 +19,7 @@ exclude = [ [dependencies] hyperlane = "5.13.0" -hyperlane-utils = "0.15.3" +hyperlane-utils = "0.16.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } From f1c7708586c693194f83ff57a82ef1eda81cba43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 6 Jun 2025 09:21:09 +0800 Subject: [PATCH 209/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 8 ++++---- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index ed61ad32843..f7151c9f455 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -938,9 +938,9 @@ checksum = "c206e4f9a9bc18a40b387ffdfee9b1204fb692da1eee32d35b6fa9f07447d960" [[package]] name = "http-type" -version = "4.11.0" +version = "4.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da7fc6faa2442bddb41bcbc8ed0d0171412afa93d30968e9601279c391f3d8d7" +checksum = "ca6287530c4128df3e09cd395d603f21fc93e78fa6becd7c75936af3c3c1d8c6" dependencies = [ "dashmap", "hex", @@ -969,9 +969,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.13.0" +version = "5.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8835226f5eed5906e02cfd8ab164140ca5b67c223353dc9ff494599f6d646ea" +checksum = "4f5bf8c6c6d827617e3a2e60303c9f9c6f7c8963f060f353e91ac5f7955b004c" dependencies = [ "http-type", "lombok-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index d25136186dc..17155a58741 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.13.0" +hyperlane = "5.16.0" hyperlane-utils = "0.16.0" rand = "0.9.1" serde = "1.0.219" From 2c2fda8ff73571f2dc9136795c4fe7d6c1897c24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 6 Jun 2025 23:49:49 +0800 Subject: [PATCH 210/260] update: code --- frameworks/Rust/hyperlane/Cargo.lock | 16 ++++++++-------- frameworks/Rust/hyperlane/Cargo.toml | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index f7151c9f455..88e1c1a563c 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -367,9 +367,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chunkify" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db978867c272fae07fdf73dddfa74c8e276f9b94cd1a55c676a786e9e54e678" +checksum = "97b2709f42d3cc45eda703223726b05afd42c36f2642e2d292deee1c31b86c69" dependencies = [ "dashmap", "file-operation", @@ -938,9 +938,9 @@ checksum = "c206e4f9a9bc18a40b387ffdfee9b1204fb692da1eee32d35b6fa9f07447d960" [[package]] name = "http-type" -version = "4.16.0" +version = "4.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6287530c4128df3e09cd395d603f21fc93e78fa6becd7c75936af3c3c1d8c6" +checksum = "5d3345a0f40175b016495b93ef1cf113dafe012f01ec374e2877cef5de40389f" dependencies = [ "dashmap", "hex", @@ -969,9 +969,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.16.0" +version = "5.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5bf8c6c6d827617e3a2e60303c9f9c6f7c8963f060f353e91ac5f7955b004c" +checksum = "b501eaf211c762facb9f95e695351be02c6bb09a7a162c431b7f71ddc07a3e3e" dependencies = [ "http-type", "lombok-macros", @@ -1008,9 +1008,9 @@ checksum = "c145707425cdd097e117e8b4ee8baeaf8eb265658a5c37d2c4aa0b24fd26a507" [[package]] name = "hyperlane-utils" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cce8fa4a2f74cb8204312604036aa86026f33f0b36a9343a69b53d5f68977978" +checksum = "7c7529493da6f06cd88f8e6246328be7ef4efd0aa98fa476af277c2e780b2cc9" dependencies = [ "ahash", "bin-encode-decode", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 17155a58741..b418fbef9e6 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,8 +18,8 @@ exclude = [ ] [dependencies] -hyperlane = "5.16.0" -hyperlane-utils = "0.16.0" +hyperlane = "5.18.1" +hyperlane-utils = "0.16.1" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } From 1d009298387f42f597e0dbc962fd2c3e87869e2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 7 Jun 2025 18:21:15 +0800 Subject: [PATCH 211/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 12 ++++++------ frameworks/Rust/hyperlane/Cargo.toml | 2 +- frameworks/Rust/hyperlane/src/main.rs | 6 +++--- frameworks/Rust/hyperlane/src/server.rs | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 88e1c1a563c..5b116be643f 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -932,15 +932,15 @@ dependencies = [ [[package]] name = "http-constant" -version = "1.43.0" +version = "1.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c206e4f9a9bc18a40b387ffdfee9b1204fb692da1eee32d35b6fa9f07447d960" +checksum = "a6826d70d78b7246c7e5ca83d45354a40e14f82b889a958f87a2f64d8a89f75c" [[package]] name = "http-type" -version = "4.18.1" +version = "4.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d3345a0f40175b016495b93ef1cf113dafe012f01ec374e2877cef5de40389f" +checksum = "e1c3fe31bcda75db6c3882febe3213adb1153b2a1c37b9f69ed4066c8b303c15" dependencies = [ "dashmap", "hex", @@ -969,9 +969,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.18.1" +version = "5.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b501eaf211c762facb9f95e695351be02c6bb09a7a162c431b7f71ddc07a3e3e" +checksum = "4d65466087129559800e80a1df54494e84e9f4c2af7cb7d99f3b936732380fa1" dependencies = [ "http-type", "lombok-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index b418fbef9e6..fa34bf1ebcc 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.18.1" +hyperlane = "5.22.1" hyperlane-utils = "0.16.1" rand = "0.9.1" serde = "1.0.219" diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 09dbb09aa55..30ad3905c4e 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -9,8 +9,8 @@ pub(crate) mod server; pub(crate) mod r#type; pub(crate) mod utils; -pub(crate) use r#const::*; pub(crate) use db::*; +pub(crate) use r#const::*; pub(crate) use r#type::*; pub(crate) use utils::*; @@ -29,11 +29,11 @@ pub(crate) use hyperlane_utils::{ futures::{executor::block_on, future::join_all}, once_cell::sync::Lazy, serde::*, - serde_json::{Value, json}, + serde_json::{json, Value}, *, }; pub(crate) use lazy::*; -pub(crate) use rand::{Rng, SeedableRng, rng, rngs::SmallRng}; +pub(crate) use rand::{rng, rngs::SmallRng, Rng, SeedableRng}; pub(crate) use server::*; pub(crate) use sqlx::{ postgres::{PgPoolOptions, PgRow}, diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 5e17c60d4ed..fb5a45a5f2a 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -19,7 +19,7 @@ async fn init_server() { server.disable_nodelay().await; server.error_handle(|_: String| {}).await; server.http_line_buffer_size(256).await; - server.websocket_buffer_size(256).await; + server.ws_buffer_size(256).await; server.request_middleware(request_middleware::request).await; #[cfg(any(feature = "dev", feature = "plaintext"))] server.route("/plaintext", route::plaintext).await; From 61bb8ca6b784c69c222cfbcc2cfbff860a51c8e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 7 Jun 2025 18:50:08 +0800 Subject: [PATCH 212/260] feat: update --- frameworks/Rust/hyperlane/src/server.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index fb5a45a5f2a..9a9cf7544e4 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -17,7 +17,7 @@ async fn init_server() { server.port(8080).await; server.disable_linger().await; server.disable_nodelay().await; - server.error_handle(|_: String| {}).await; + server.error_handler(|_: String| {}).await; server.http_line_buffer_size(256).await; server.ws_buffer_size(256).await; server.request_middleware(request_middleware::request).await; From 96be513374fd6586b7d34eab1c57d65dfe2be5e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 9 Jun 2025 17:39:16 +0800 Subject: [PATCH 213/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 20 ++++++++-------- frameworks/Rust/hyperlane/Cargo.toml | 4 ++-- frameworks/Rust/hyperlane/src/main.rs | 6 ++--- .../Rust/hyperlane/src/request_middleware.rs | 4 +++- frameworks/Rust/hyperlane/src/route.rs | 24 +++++++++++++------ 5 files changed, 35 insertions(+), 23 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 5b116be643f..75a08205164 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -932,15 +932,15 @@ dependencies = [ [[package]] name = "http-constant" -version = "1.45.0" +version = "1.47.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6826d70d78b7246c7e5ca83d45354a40e14f82b889a958f87a2f64d8a89f75c" +checksum = "ebb606af516873026d106412e1f2e3e4ca5d72d5ac1ff97d66169c5bc88eef91" [[package]] name = "http-type" -version = "4.19.2" +version = "4.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1c3fe31bcda75db6c3882febe3213adb1153b2a1c37b9f69ed4066c8b303c15" +checksum = "181fe4966e416ce9c4213b76423c1fc1e2b16799bd2765fc791d7c063b7eb9ad" dependencies = [ "dashmap", "hex", @@ -969,9 +969,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.22.1" +version = "5.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d65466087129559800e80a1df54494e84e9f4c2af7cb7d99f3b936732380fa1" +checksum = "96f7a3acce6f9bfac35c10eb97364b312c70ba1125a1dfbf245754bc8e5f8757" dependencies = [ "http-type", "lombok-macros", @@ -1008,9 +1008,9 @@ checksum = "c145707425cdd097e117e8b4ee8baeaf8eb265658a5c37d2c4aa0b24fd26a507" [[package]] name = "hyperlane-utils" -version = "0.16.1" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c7529493da6f06cd88f8e6246328be7ef4efd0aa98fa476af277c2e780b2cc9" +checksum = "d67677b6cd6fc734fc97c1e732b219f47416f7d45049dcb8db8f583cd8731a38" dependencies = [ "ahash", "bin-encode-decode", @@ -1284,9 +1284,9 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "lombok-macros" -version = "1.12.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "009c79e9d87f8b0a79b8350fc03ffeb9d4cefd632c47c3b7ea1f2fba72d70ade" +checksum = "8233f6e95093f205641478acbae36ebed40d71f6e89329ce92c0d3345aeb15a0" dependencies = [ "proc-macro2", "quote", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index fa34bf1ebcc..aff3ea7287d 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,8 +18,8 @@ exclude = [ ] [dependencies] -hyperlane = "5.22.1" -hyperlane-utils = "0.16.1" +hyperlane = "5.25.1" +hyperlane-utils = "0.17.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 30ad3905c4e..09dbb09aa55 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -9,8 +9,8 @@ pub(crate) mod server; pub(crate) mod r#type; pub(crate) mod utils; -pub(crate) use db::*; pub(crate) use r#const::*; +pub(crate) use db::*; pub(crate) use r#type::*; pub(crate) use utils::*; @@ -29,11 +29,11 @@ pub(crate) use hyperlane_utils::{ futures::{executor::block_on, future::join_all}, once_cell::sync::Lazy, serde::*, - serde_json::{json, Value}, + serde_json::{Value, json}, *, }; pub(crate) use lazy::*; -pub(crate) use rand::{rng, rngs::SmallRng, Rng, SeedableRng}; +pub(crate) use rand::{Rng, SeedableRng, rng, rngs::SmallRng}; pub(crate) use server::*; pub(crate) use sqlx::{ postgres::{PgPoolOptions, PgRow}, diff --git a/frameworks/Rust/hyperlane/src/request_middleware.rs b/frameworks/Rust/hyperlane/src/request_middleware.rs index 2550aa4b5fe..2c598f982b2 100644 --- a/frameworks/Rust/hyperlane/src/request_middleware.rs +++ b/frameworks/Rust/hyperlane/src/request_middleware.rs @@ -1,11 +1,13 @@ use super::*; pub async fn request(ctx: Context) { - ctx.set_response_header(CONNECTION, CONNECTION_KEEP_ALIVE) + ctx.set_response_header(CONNECTION, KEEP_ALIVE) .await .set_response_header(SERVER, HYPERLANE) .await .set_response_header(DATE, gmt()) + .await + .set_response_status_code(200) .await; #[cfg(feature = "plaintext")] { diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 46442ce2137..1eaa40d61d7 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -5,19 +5,23 @@ pub async fn json(ctx: Context) { "message": RESPONSEDATA_STR }); let _ = ctx - .send_response(200, serde_json::to_string(&json).unwrap_or_default()) + .set_response_body(serde_json::to_string(&json).unwrap_or_default()) + .await + .send() .await; } pub async fn plaintext(ctx: Context) { - let _ = ctx.send_response(200, RESPONSEDATA_BIN).await; + let _ = ctx.set_response_body(RESPONSEDATA_BIN).await.send().await; } pub async fn db(ctx: Context) { let db_connection: &DbPoolConnection = get_db_connection(); let query_row: QueryRow = random_world_row(db_connection).await; let _ = ctx - .send_response(200, serde_json::to_string(&query_row).unwrap_or_default()) + .set_response_body(serde_json::to_string(&query_row).unwrap_or_default()) + .await + .send() .await; } @@ -32,7 +36,9 @@ pub async fn query(ctx: Context) { let db_pool: &DbPoolConnection = get_db_connection(); let data: Vec = get_some_row_id(queries, db_pool).await; let _ = ctx - .send_response(200, serde_json::to_string(&data).unwrap_or_default()) + .set_response_body(serde_json::to_string(&data).unwrap_or_default()) + .await + .send() .await; } @@ -52,7 +58,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(); - let _ = ctx.send_response(200, res).await; + let _ = ctx.set_response_body(res).await.send().await; } pub async fn update(ctx: Context) { @@ -65,7 +71,9 @@ pub async fn update(ctx: Context) { .max(1); let res: Vec = update_world_rows(queries).await; let _ = ctx - .send_response(200, serde_json::to_string(&res).unwrap_or_default()) + .set_response_body(serde_json::to_string(&res).unwrap_or_default()) + .await + .send() .await; } @@ -79,6 +87,8 @@ pub async fn cached_query(ctx: Context) { .max(1); let res: Vec = CACHE.iter().take(count as usize).cloned().collect(); let _ = ctx - .send_response(200, serde_json::to_string(&res).unwrap_or_default()) + .set_response_body(serde_json::to_string(&res).unwrap_or_default()) + .await + .send() .await; } From 216e9ac69c33c4dcf081f0103edf2624d256bf5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 9 Jun 2025 22:25:24 +0800 Subject: [PATCH 214/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 16 ++++++++++++++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 75a08205164..ec4fb7acfaa 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -969,11 +969,12 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.25.1" +version = "5.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96f7a3acce6f9bfac35c10eb97364b312c70ba1125a1dfbf245754bc8e5f8757" +checksum = "7ed8906df6d9685e809796b2542a24ac4e4db654da6a826470771ca7db5baa09" dependencies = [ "http-type", + "hyperlane-macro", "lombok-macros", "regex", "serde", @@ -1000,6 +1001,17 @@ dependencies = [ "tokio", ] +[[package]] +name = "hyperlane-macro" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daa926da20529845f0d32fba4a89d14938a405337b8fb1bc10593592718de0f0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "hyperlane-time" version = "0.5.5" diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index aff3ea7287d..108fc879d82 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.25.1" +hyperlane = "5.26.0" hyperlane-utils = "0.17.0" rand = "0.9.1" serde = "1.0.219" From 47f2b735480b51c410fa6e1368f30dd201abed4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 9 Jun 2025 22:47:36 +0800 Subject: [PATCH 215/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 12 ++++++------ frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index ec4fb7acfaa..7d5e8fec9a2 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -969,12 +969,12 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.26.0" +version = "5.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ed8906df6d9685e809796b2542a24ac4e4db654da6a826470771ca7db5baa09" +checksum = "5a51968bf938b6bbb27958872968e9b6e6734df28269a17b9b1bb3c64f7041ee" dependencies = [ "http-type", - "hyperlane-macro", + "hyperlane-macros", "lombok-macros", "regex", "serde", @@ -1002,10 +1002,10 @@ dependencies = [ ] [[package]] -name = "hyperlane-macro" -version = "0.1.2" +name = "hyperlane-macros" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daa926da20529845f0d32fba4a89d14938a405337b8fb1bc10593592718de0f0" +checksum = "1339da89521c5caaf64be0f44ae82a22421d10c5571dfcd460de56cde4f711a7" dependencies = [ "proc-macro2", "quote", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 108fc879d82..8693eba490b 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.26.0" +hyperlane = "5.27.1" hyperlane-utils = "0.17.0" rand = "0.9.1" serde = "1.0.219" From 3c23df6004d114f159e14cebe5588524ea8243bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Mon, 9 Jun 2025 23:35:53 +0800 Subject: [PATCH 216/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 7d5e8fec9a2..7913099f1c0 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -969,9 +969,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.27.1" +version = "5.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a51968bf938b6bbb27958872968e9b6e6734df28269a17b9b1bb3c64f7041ee" +checksum = "0ac6e7a9b7f17fd6f10200ffa9d28a6cb4bb468efb5c85dbfa5d3a226882e0c8" dependencies = [ "http-type", "hyperlane-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 8693eba490b..21ac6cb9400 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.27.1" +hyperlane = "5.27.2" hyperlane-utils = "0.17.0" rand = "0.9.1" serde = "1.0.219" From cff12cdc985b1e889ff13b85418436bb685a83fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 10 Jun 2025 08:37:14 +0800 Subject: [PATCH 217/260] feat: update --- frameworks/Rust/hyperlane/Cargo.lock | 8 ++++---- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 7913099f1c0..6dea080d34a 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -969,9 +969,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.27.2" +version = "5.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ac6e7a9b7f17fd6f10200ffa9d28a6cb4bb468efb5c85dbfa5d3a226882e0c8" +checksum = "19c5f92063525940b623e852b168e9fd632ebedcb4fbc910e6a534b5843b7926" dependencies = [ "http-type", "hyperlane-macros", @@ -1003,9 +1003,9 @@ dependencies = [ [[package]] name = "hyperlane-macros" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1339da89521c5caaf64be0f44ae82a22421d10c5571dfcd460de56cde4f711a7" +checksum = "b7fcc6733516b988a4d09e02aa61af142341ce937894f4a93f39d71355be69cd" dependencies = [ "proc-macro2", "quote", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 21ac6cb9400..fc2854c2169 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.27.2" +hyperlane = "5.28.1" hyperlane-utils = "0.17.0" rand = "0.9.1" serde = "1.0.219" From 3721d3abdbcc4db8544cec811c394cc3f0dfabb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 10 Jun 2025 08:40:42 +0800 Subject: [PATCH 218/260] Merge remote-tracking branch 'upstream/master' --- frameworks/Rust/hyperlane/Cargo.lock | 262 ++++----------------------- 1 file changed, 37 insertions(+), 225 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 826faa61cbb..fd920a84bfd 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -178,182 +178,6 @@ dependencies = [ "syn", ] -[[package]] -name = "actix-codec" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a" -dependencies = [ - "bitflags", - "bytes", - "futures-core", - "futures-sink", - "memchr", - "pin-project-lite", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "actix-http" -version = "3.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44dfe5c9e0004c623edc65391dfd51daa201e7e30ebd9c9bedf873048ec32bc2" -dependencies = [ - "actix-codec", - "actix-rt", - "actix-service", - "actix-utils", - "base64", - "bitflags", - "bytes", - "bytestring", - "derive_more", - "encoding_rs", - "foldhash", - "futures-core", - "http", - "httparse", - "httpdate", - "itoa", - "language-tags", - "local-channel", - "mime", - "percent-encoding", - "pin-project-lite", - "rand 0.9.1", - "sha1", - "smallvec", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "actix-macros" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" -dependencies = [ - "quote", - "syn", -] - -[[package]] -name = "actix-router" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13d324164c51f63867b57e73ba5936ea151b8a41a1d23d1031eeb9f70d0236f8" -dependencies = [ - "bytestring", - "cfg-if", - "http", - "regex-lite", - "serde", - "tracing", -] - -[[package]] -name = "actix-rt" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eda4e2a6e042aa4e55ac438a2ae052d3b5da0ecf83d7411e1a368946925208" -dependencies = [ - "futures-core", - "tokio", -] - -[[package]] -name = "actix-server" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a65064ea4a457eaf07f2fba30b4c695bf43b721790e9530d26cb6f9019ff7502" -dependencies = [ - "actix-rt", - "actix-service", - "actix-utils", - "futures-core", - "futures-util", - "mio", - "socket2", - "tokio", - "tracing", -] - -[[package]] -name = "actix-service" -version = "2.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e46f36bf0e5af44bdc4bdb36fbbd421aa98c79a9bce724e1edeb3894e10dc7f" -dependencies = [ - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "actix-utils" -version = "3.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a1dcdff1466e3c2488e1cb5c36a71822750ad43839937f85d2f4d9f8b705d8" -dependencies = [ - "local-waker", - "pin-project-lite", -] - -[[package]] -name = "actix-web" -version = "4.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a597b77b5c6d6a1e1097fddde329a83665e25c5437c696a3a9a4aa514a614dea" -dependencies = [ - "actix-codec", - "actix-http", - "actix-macros", - "actix-router", - "actix-rt", - "actix-server", - "actix-service", - "actix-utils", - "actix-web-codegen", - "bytes", - "bytestring", - "cfg-if", - "derive_more", - "encoding_rs", - "foldhash", - "futures-core", - "futures-util", - "impl-more", - "itoa", - "language-tags", - "log", - "mime", - "once_cell", - "pin-project-lite", - "regex-lite", - "serde", - "serde_json", - "serde_urlencoded", - "smallvec", - "socket2", - "time", - "tracing", - "url", -] - -[[package]] -name = "actix-web-codegen" -version = "4.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f591380e2e68490b5dfaf1dd1aa0ebe78d84ba7067078512b4ea6e4492d622b8" -dependencies = [ - "actix-router", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "addr2line" version = "0.24.2" @@ -365,9 +189,9 @@ dependencies = [ [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "ahash" @@ -459,9 +283,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.7.3" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" +checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "bin-encode-decode" @@ -510,9 +334,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.17.0" +version = "3.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" +checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee" [[package]] name = "byteorder" @@ -537,9 +361,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" [[package]] name = "chunkify" @@ -800,9 +624,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" +checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" dependencies = [ "crc32fast", "libz-rs-sys", @@ -1003,7 +827,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa2c385c6df70fd180bbb673d93039dbd2cd34e41d782600bdf6e1ca7bce39aa" dependencies = [ - "hashbrown 0.15.3", + "hashbrown 0.15.4", "serde", ] @@ -1015,9 +839,9 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "hashbrown" -version = "0.15.3" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" +checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" dependencies = [ "allocator-api2", "equivalent", @@ -1030,7 +854,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" dependencies = [ - "hashbrown 0.15.3", + "hashbrown 0.15.4", ] [[package]] @@ -1143,18 +967,6 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" -[[package]] -name = "httparse" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" - -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - [[package]] name = "hyperlane" version = "5.28.1" @@ -1377,7 +1189,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", - "hashbrown 0.15.3", + "hashbrown 0.15.4", "serde", ] @@ -1436,9 +1248,9 @@ dependencies = [ [[package]] name = "libz-rs-sys" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6489ca9bd760fe9642d7644e827b0c9add07df89857b0416ee15c1cc1a3b8c5a" +checksum = "172a788537a2221661b480fee8dc5f96c580eb34fa88764d3205dc356c7e4221" dependencies = [ "zlib-rs", ] @@ -1468,9 +1280,9 @@ checksum = "4d873d7c67ce09b42110d801813efbc9364414e356be9935700d368351657487" [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" dependencies = [ "autocfg", "scopeguard", @@ -1527,9 +1339,9 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", ] @@ -1632,9 +1444,9 @@ checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" dependencies = [ "lock_api", "parking_lot_core", @@ -1642,9 +1454,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" dependencies = [ "cfg-if", "libc", @@ -2123,9 +1935,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.15.0" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" dependencies = [ "serde", ] @@ -2188,7 +2000,7 @@ dependencies = [ "futures-intrusive", "futures-io", "futures-util", - "hashbrown 0.15.3", + "hashbrown 0.15.4", "hashlink", "indexmap", "log", @@ -2561,9 +2373,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.28" +version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +checksum = "1b1ffbcf9c6f6b99d386e7444eb608ba646ae452a36b39737deb9663b610f662" dependencies = [ "proc-macro2", "quote", @@ -2572,20 +2384,20 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" dependencies = [ "once_cell", ] [[package]] name = "twox-hash" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7b17f197b3050ba473acf9181f7b1d3b66d1cf7356c6cc57886662276e65908" +checksum = "8b907da542cbced5261bd3256de1b3a1bf340a3d37f93425a07362a1d687de56" dependencies = [ - "rand 0.8.5", + "rand 0.9.1", ] [[package]] @@ -3136,9 +2948,9 @@ dependencies = [ [[package]] name = "zlib-rs" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "868b928d7949e09af2f6086dfc1e01936064cc7a819253bce650d4e2a2d63ba8" +checksum = "626bd9fa9734751fc50d6060752170984d7053f5a39061f524cda68023d4db8a" [[package]] name = "zopfli" From bb521032b6344bf3417bb290c28d99d8f58c8624 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Wed, 11 Jun 2025 23:39:09 +0800 Subject: [PATCH 219/260] feat: update version --- frameworks/Rust/hyperlane/Cargo.lock | 12 ++++++------ frameworks/Rust/hyperlane/Cargo.toml | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index fd920a84bfd..4b1dd261d27 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -938,9 +938,9 @@ checksum = "ebb606af516873026d106412e1f2e3e4ca5d72d5ac1ff97d66169c5bc88eef91" [[package]] name = "http-type" -version = "4.21.1" +version = "4.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "181fe4966e416ce9c4213b76423c1fc1e2b16799bd2765fc791d7c063b7eb9ad" +checksum = "c58eb9dcf3a7358d389f79229c64ef0d999199b238dabfb5737e831430effcad" dependencies = [ "dashmap", "hex", @@ -969,9 +969,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.28.1" +version = "5.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c5f92063525940b623e852b168e9fd632ebedcb4fbc910e6a534b5843b7926" +checksum = "928a96f22386c7101f2902beedb5856a8d298938670c370c1306c0f574f5d66d" dependencies = [ "http-type", "hyperlane-macros", @@ -1020,9 +1020,9 @@ checksum = "c145707425cdd097e117e8b4ee8baeaf8eb265658a5c37d2c4aa0b24fd26a507" [[package]] name = "hyperlane-utils" -version = "0.17.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d67677b6cd6fc734fc97c1e732b219f47416f7d45049dcb8db8f583cd8731a38" +checksum = "ebe33ccb4333deb4f3bb5f101cdc944dc04a7e238e78934e4162029dfc33ef84" dependencies = [ "ahash", "bin-encode-decode", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index fc2854c2169..c01d0687a19 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,8 +18,8 @@ exclude = [ ] [dependencies] -hyperlane = "5.28.1" -hyperlane-utils = "0.17.0" +hyperlane = "5.29.0" +hyperlane-utils = "0.17.1" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } From ef4aa61c1c5f1759c121dc59b86ea0e569121adc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 17 Jun 2025 23:50:08 +0800 Subject: [PATCH 220/260] feat: update version --- frameworks/Rust/hyperlane/Cargo.lock | 8 ++++---- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 4b1dd261d27..2028572a382 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -969,9 +969,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.29.0" +version = "5.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "928a96f22386c7101f2902beedb5856a8d298938670c370c1306c0f574f5d66d" +checksum = "6f38700888cb6e0bf54e6bd30d963c40d3f9a91afb4dbe148ab7b2a53e63d1e7" dependencies = [ "http-type", "hyperlane-macros", @@ -1003,9 +1003,9 @@ dependencies = [ [[package]] name = "hyperlane-macros" -version = "0.1.5" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7fcc6733516b988a4d09e02aa61af142341ce937894f4a93f39d71355be69cd" +checksum = "2321a4e27d729efe345507e1cfb6573881ce1f568e65f927b8115a55ad9b08f5" dependencies = [ "proc-macro2", "quote", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index c01d0687a19..db535708c39 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.29.0" +hyperlane = "5.30.1" hyperlane-utils = "0.17.1" rand = "0.9.1" serde = "1.0.219" From 879098cfc12ba8489dd61597b38f83e1550b16fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 20 Jun 2025 23:50:27 +0800 Subject: [PATCH 221/260] update: code --- frameworks/Rust/hyperlane/Cargo.lock | 8 ++++---- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 2028572a382..fc01682211a 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -938,9 +938,9 @@ checksum = "ebb606af516873026d106412e1f2e3e4ca5d72d5ac1ff97d66169c5bc88eef91" [[package]] name = "http-type" -version = "4.22.1" +version = "4.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c58eb9dcf3a7358d389f79229c64ef0d999199b238dabfb5737e831430effcad" +checksum = "340926e5eeca92b7c01eeb7fb37be493a55d66236bab2fdb7fadcd74f6669d11" dependencies = [ "dashmap", "hex", @@ -969,9 +969,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.30.1" +version = "5.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f38700888cb6e0bf54e6bd30d963c40d3f9a91afb4dbe148ab7b2a53e63d1e7" +checksum = "59cd0e3d669c3ba6348e3de435e1f473c49b9087024b1d90bcc80b115e68906d" dependencies = [ "http-type", "hyperlane-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index db535708c39..c05df852486 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.30.1" +hyperlane = "5.31.0" hyperlane-utils = "0.17.1" rand = "0.9.1" serde = "1.0.219" From 3f1d7e2d39c9dead1ee8b2e0a5ba80aa86349fd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 20 Jun 2025 23:52:04 +0800 Subject: [PATCH 222/260] Merge remote-tracking branch 'upstream/master' --- frameworks/Rust/hyperlane/Cargo.lock | 67 +++++++++++++--------------- 1 file changed, 32 insertions(+), 35 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index fc01682211a..88c4d2b69c5 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -256,9 +256,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "backtrace" @@ -798,7 +798,7 @@ checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", ] [[package]] @@ -865,9 +865,9 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" @@ -1226,9 +1226,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.172" +version = "0.2.174" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" [[package]] name = "libm" @@ -1317,9 +1317,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.4" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "mime" @@ -1354,7 +1354,7 @@ checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", "log", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", "windows-sys 0.59.0", ] @@ -1563,9 +1563,9 @@ dependencies = [ [[package]] name = "r-efi" -version = "5.2.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "rand" @@ -1648,9 +1648,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.12" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" +checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" dependencies = [ "bitflags", ] @@ -1766,9 +1766,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f" [[package]] name = "ryu" @@ -1926,12 +1926,9 @@ checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" [[package]] name = "slab" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" [[package]] name = "smallvec" @@ -2190,9 +2187,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.101" +version = "2.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" +checksum = "e4307e30089d6fd6aff212f2da3a1f9e32f3223b1f010fb09b7c95f90f3ca1e8" dependencies = [ "proc-macro2", "quote", @@ -2373,9 +2370,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.29" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1ffbcf9c6f6b99d386e7444eb608ba646ae452a36b39737deb9663b610f662" +checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", @@ -2470,9 +2467,9 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "utoipa" -version = "5.3.1" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435c6f69ef38c9017b4b4eea965dfb91e71e53d869e896db40d1cf2441dd75c0" +checksum = "2fcc29c80c21c31608227e0912b2d7fddba57ad76b606890627ba8ee7964e993" dependencies = [ "indexmap", "serde", @@ -2482,9 +2479,9 @@ dependencies = [ [[package]] name = "utoipa-gen" -version = "5.3.1" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a77d306bc75294fd52f3e99b13ece67c02c1a2789190a6f31d32f736624326f7" +checksum = "6d79d08d92ab8af4c5e8a6da20c47ae3f61a0f1dabc1997cdf2d082b757ca08b" dependencies = [ "proc-macro2", "quote", @@ -2564,9 +2561,9 @@ dependencies = [ [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasi" @@ -2854,18 +2851,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.25" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" +checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.25" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" +checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" dependencies = [ "proc-macro2", "quote", From 0b5ed45c67aa0dbdbd566efb28a074804f3e958b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 21 Jun 2025 12:54:21 +0800 Subject: [PATCH 223/260] feat: lock --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 88c4d2b69c5..f4536457005 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -1020,9 +1020,9 @@ checksum = "c145707425cdd097e117e8b4ee8baeaf8eb265658a5c37d2c4aa0b24fd26a507" [[package]] name = "hyperlane-utils" -version = "0.17.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebe33ccb4333deb4f3bb5f101cdc944dc04a7e238e78934e4162029dfc33ef84" +checksum = "98bd421d7b580ddbca85a490f08973ead09b3dd3ac778d3a1cf5b3fe41599d86" dependencies = [ "ahash", "bin-encode-decode", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index c05df852486..a2445c17cc8 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -19,7 +19,7 @@ exclude = [ [dependencies] hyperlane = "5.31.0" -hyperlane-utils = "0.17.1" +hyperlane-utils = "0.18.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } From b58a03b63dd33ed356eeb787f28c8596194779fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 22 Jun 2025 11:11:04 +0800 Subject: [PATCH 224/260] feat: lock --- frameworks/Rust/hyperlane/Cargo.lock | 12 ++++++------ frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index f4536457005..a360b8dc31d 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -932,15 +932,15 @@ dependencies = [ [[package]] name = "http-constant" -version = "1.47.1" +version = "1.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebb606af516873026d106412e1f2e3e4ca5d72d5ac1ff97d66169c5bc88eef91" +checksum = "67f8cf4294ddfe85d2c2058f33caa9c82baa153a5826c293b2254ca293e6c11c" [[package]] name = "http-type" -version = "4.23.0" +version = "4.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "340926e5eeca92b7c01eeb7fb37be493a55d66236bab2fdb7fadcd74f6669d11" +checksum = "4943b27d281060475b5c530a57d4ceeb96d5c5cc53759ed2c7ec612214f8f588" dependencies = [ "dashmap", "hex", @@ -969,9 +969,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.31.0" +version = "5.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59cd0e3d669c3ba6348e3de435e1f473c49b9087024b1d90bcc80b115e68906d" +checksum = "3a845f0f4d18a9a6b0d11d091607ad018e8a15a721f22faf0db579026ffd0865" dependencies = [ "http-type", "hyperlane-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index a2445c17cc8..69a22835f4d 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.31.0" +hyperlane = "5.32.0" hyperlane-utils = "0.18.0" rand = "0.9.1" serde = "1.0.219" From 0bd896707c5542404975d5405aa682bfb472b4a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 22 Jun 2025 14:47:48 +0800 Subject: [PATCH 225/260] feat: lock --- frameworks/Rust/hyperlane/Cargo.lock | 8 ++++---- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index a360b8dc31d..6d7e6f52551 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -938,9 +938,9 @@ checksum = "67f8cf4294ddfe85d2c2058f33caa9c82baa153a5826c293b2254ca293e6c11c" [[package]] name = "http-type" -version = "4.24.0" +version = "4.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4943b27d281060475b5c530a57d4ceeb96d5c5cc53759ed2c7ec612214f8f588" +checksum = "21c518bd37e8924bad5bd524382827cb29f9d7e2e37c825bf6f5bebeb54830c2" dependencies = [ "dashmap", "hex", @@ -969,9 +969,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.32.0" +version = "5.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a845f0f4d18a9a6b0d11d091607ad018e8a15a721f22faf0db579026ffd0865" +checksum = "57b4662b7605f3d7d16d96389740c0844f0b7b122d523439b8340dd3c3a1de4a" dependencies = [ "http-type", "hyperlane-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 69a22835f4d..128c0258641 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.32.0" +hyperlane = "5.32.1" hyperlane-utils = "0.18.0" rand = "0.9.1" serde = "1.0.219" From 66be4c6dbab4c8bd50a8d5c0fbab4ee4972dc545 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Thu, 26 Jun 2025 21:04:14 +0800 Subject: [PATCH 226/260] feat: lock --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 6d7e6f52551..8aa076122be 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -969,9 +969,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.32.1" +version = "5.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57b4662b7605f3d7d16d96389740c0844f0b7b122d523439b8340dd3c3a1de4a" +checksum = "c1060413f9eceb95e368bf854f315b66875979f25c8963d36835233f2de247d6" dependencies = [ "http-type", "hyperlane-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 128c0258641..cb01061243a 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.32.1" +hyperlane = "5.32.2" hyperlane-utils = "0.18.0" rand = "0.9.1" serde = "1.0.219" From 193e5853d91f84f564fef239dde72def36c69f6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Thu, 26 Jun 2025 21:50:23 +0800 Subject: [PATCH 227/260] feat: lock --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- frameworks/Rust/hyperlane/src/server.rs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 8aa076122be..21907638e85 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -969,9 +969,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.32.2" +version = "5.33.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1060413f9eceb95e368bf854f315b66875979f25c8963d36835233f2de247d6" +checksum = "dd4521ef34d936b84522abf1f0209decf432b689de2266f7b2a74b6aadb858be" dependencies = [ "http-type", "hyperlane-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index cb01061243a..5c941c55873 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.32.2" +hyperlane = "5.33.1" hyperlane-utils = "0.18.0" rand = "0.9.1" serde = "1.0.219" diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 9a9cf7544e4..f4d4f869700 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -18,7 +18,7 @@ async fn init_server() { server.disable_linger().await; server.disable_nodelay().await; server.error_handler(|_: String| {}).await; - server.http_line_buffer_size(256).await; + server.http_buffer_size(256).await; server.ws_buffer_size(256).await; server.request_middleware(request_middleware::request).await; #[cfg(any(feature = "dev", feature = "plaintext"))] From 570a72918f7a12a93d04ab934526293459909772 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Thu, 26 Jun 2025 23:08:13 +0800 Subject: [PATCH 228/260] feat: lock --- frameworks/Rust/hyperlane/Cargo.lock | 8 ++++---- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 21907638e85..0c9e4766b70 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -938,9 +938,9 @@ checksum = "67f8cf4294ddfe85d2c2058f33caa9c82baa153a5826c293b2254ca293e6c11c" [[package]] name = "http-type" -version = "4.24.1" +version = "4.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21c518bd37e8924bad5bd524382827cb29f9d7e2e37c825bf6f5bebeb54830c2" +checksum = "6ae88a78ab4df0168da34d8cce9e3f95a031c150dd0ec503a6e2cd9f913fb819" dependencies = [ "dashmap", "hex", @@ -969,9 +969,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.33.1" +version = "5.33.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd4521ef34d936b84522abf1f0209decf432b689de2266f7b2a74b6aadb858be" +checksum = "fa7e813097284b3f53342216580e519d249f680787713a531879c2b01127e571" dependencies = [ "http-type", "hyperlane-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 5c941c55873..57df9331e00 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.33.1" +hyperlane = "5.33.2" hyperlane-utils = "0.18.0" rand = "0.9.1" serde = "1.0.219" From 490022887760916ef525915b96ad5edc2ca2a1b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 27 Jun 2025 23:01:10 +0800 Subject: [PATCH 229/260] feat: lock --- frameworks/Rust/hyperlane/Cargo.lock | 12 ++++++------ frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 0c9e4766b70..04ba2763df3 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -932,15 +932,15 @@ dependencies = [ [[package]] name = "http-constant" -version = "1.48.0" +version = "1.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67f8cf4294ddfe85d2c2058f33caa9c82baa153a5826c293b2254ca293e6c11c" +checksum = "2ab0d43438c434e04c007b29b281fb9b85e669a605acf1257847ac4b8fe4114c" [[package]] name = "http-type" -version = "4.24.2" +version = "4.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ae88a78ab4df0168da34d8cce9e3f95a031c150dd0ec503a6e2cd9f913fb819" +checksum = "260397d77f120c957c6b1d33a07b38580844c3b2f3e4a6927161eca22ce3e2e8" dependencies = [ "dashmap", "hex", @@ -969,9 +969,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.33.2" +version = "5.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7e813097284b3f53342216580e519d249f680787713a531879c2b01127e571" +checksum = "1c2ff96e31a5ca286e4226e3d03eea534f77bac1fd78f8aa496486b3f0d2c7bb" dependencies = [ "http-type", "hyperlane-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 57df9331e00..06bb5cfee3a 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,7 +18,7 @@ exclude = [ ] [dependencies] -hyperlane = "5.33.2" +hyperlane = "5.34.0" hyperlane-utils = "0.18.0" rand = "0.9.1" serde = "1.0.219" From a70b3747cd8ae1ff0e9b4f938e452ecc49324a2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 28 Jun 2025 19:51:06 +0800 Subject: [PATCH 230/260] feat: error handle --- frameworks/Rust/hyperlane/Cargo.lock | 22 +++++++++++----------- frameworks/Rust/hyperlane/Cargo.toml | 4 ++-- frameworks/Rust/hyperlane/src/server.rs | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 04ba2763df3..53c8773c925 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -932,15 +932,15 @@ dependencies = [ [[package]] name = "http-constant" -version = "1.49.0" +version = "1.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab0d43438c434e04c007b29b281fb9b85e669a605acf1257847ac4b8fe4114c" +checksum = "087d27cd719e5a80b34b1fab3aead80a366ce4e903d198334ede177f391e1fbb" [[package]] name = "http-type" -version = "4.25.0" +version = "4.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "260397d77f120c957c6b1d33a07b38580844c3b2f3e4a6927161eca22ce3e2e8" +checksum = "6831414384644bced5286ecba9ce813f72db3048e83b18f0e65f065e9d7fbe86" dependencies = [ "dashmap", "hex", @@ -969,12 +969,11 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyperlane" -version = "5.34.0" +version = "5.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2ff96e31a5ca286e4226e3d03eea534f77bac1fd78f8aa496486b3f0d2c7bb" +checksum = "2d2a00c9ad518a87243758d49877b481b88815102a7f4bc17fd28e67ccf67115" dependencies = [ "http-type", - "hyperlane-macros", "lombok-macros", "regex", "serde", @@ -1003,9 +1002,9 @@ dependencies = [ [[package]] name = "hyperlane-macros" -version = "0.4.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2321a4e27d729efe345507e1cfb6573881ce1f568e65f927b8115a55ad9b08f5" +checksum = "9aa2ac7ff86962a5ea884473ecab95fa917c0df9870057bd2b34c1cb8d0dfcb2" dependencies = [ "proc-macro2", "quote", @@ -1020,9 +1019,9 @@ checksum = "c145707425cdd097e117e8b4ee8baeaf8eb265658a5c37d2c4aa0b24fd26a507" [[package]] name = "hyperlane-utils" -version = "0.18.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98bd421d7b580ddbca85a490f08973ead09b3dd3ac778d3a1cf5b3fe41599d86" +checksum = "5c5b3bed39f7357537c96a3da986317ea37cab022aaff5337c00b110db9a1101" dependencies = [ "ahash", "bin-encode-decode", @@ -1037,6 +1036,7 @@ dependencies = [ "hot-restart", "hyperlane-broadcast", "hyperlane-log", + "hyperlane-macros", "log", "lombok-macros", "num_cpus", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 06bb5cfee3a..562fba890d8 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,8 +18,8 @@ exclude = [ ] [dependencies] -hyperlane = "5.34.0" -hyperlane-utils = "0.18.0" +hyperlane = "5.38.0" +hyperlane-utils = "0.19.0" rand = "0.9.1" serde = "1.0.219" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index f4d4f869700..e469a774c9f 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -17,7 +17,7 @@ async fn init_server() { server.port(8080).await; server.disable_linger().await; server.disable_nodelay().await; - server.error_handler(|_: String| {}).await; + server.error_handler(async |_: PanicInfo| {}).await; server.http_buffer_size(256).await; server.ws_buffer_size(256).await; server.request_middleware(request_middleware::request).await; From de538cf688ca058144a12f29182430f9fd7c6afe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 29 Jun 2025 09:22:15 +0800 Subject: [PATCH 231/260] feat: dep --- frameworks/Rust/hyperlane/Cargo.lock | 931 +------------------------ frameworks/Rust/hyperlane/Cargo.toml | 8 +- frameworks/Rust/hyperlane/src/main.rs | 12 +- frameworks/Rust/hyperlane/src/utils.rs | 11 + 4 files changed, 40 insertions(+), 922 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 53c8773c925..df5b7c8e55a 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -2,182 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "actix-codec" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a" -dependencies = [ - "bitflags", - "bytes", - "futures-core", - "futures-sink", - "memchr", - "pin-project-lite", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "actix-http" -version = "3.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44dfe5c9e0004c623edc65391dfd51daa201e7e30ebd9c9bedf873048ec32bc2" -dependencies = [ - "actix-codec", - "actix-rt", - "actix-service", - "actix-utils", - "base64", - "bitflags", - "bytes", - "bytestring", - "derive_more", - "encoding_rs", - "foldhash", - "futures-core", - "http", - "httparse", - "httpdate", - "itoa", - "language-tags", - "local-channel", - "mime", - "percent-encoding", - "pin-project-lite", - "rand 0.9.1", - "sha1", - "smallvec", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "actix-macros" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" -dependencies = [ - "quote", - "syn", -] - -[[package]] -name = "actix-router" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13d324164c51f63867b57e73ba5936ea151b8a41a1d23d1031eeb9f70d0236f8" -dependencies = [ - "bytestring", - "cfg-if", - "http", - "regex-lite", - "serde", - "tracing", -] - -[[package]] -name = "actix-rt" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eda4e2a6e042aa4e55ac438a2ae052d3b5da0ecf83d7411e1a368946925208" -dependencies = [ - "futures-core", - "tokio", -] - -[[package]] -name = "actix-server" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a65064ea4a457eaf07f2fba30b4c695bf43b721790e9530d26cb6f9019ff7502" -dependencies = [ - "actix-rt", - "actix-service", - "actix-utils", - "futures-core", - "futures-util", - "mio", - "socket2", - "tokio", - "tracing", -] - -[[package]] -name = "actix-service" -version = "2.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e46f36bf0e5af44bdc4bdb36fbbd421aa98c79a9bce724e1edeb3894e10dc7f" -dependencies = [ - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "actix-utils" -version = "3.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a1dcdff1466e3c2488e1cb5c36a71822750ad43839937f85d2f4d9f8b705d8" -dependencies = [ - "local-waker", - "pin-project-lite", -] - -[[package]] -name = "actix-web" -version = "4.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a597b77b5c6d6a1e1097fddde329a83665e25c5437c696a3a9a4aa514a614dea" -dependencies = [ - "actix-codec", - "actix-http", - "actix-macros", - "actix-router", - "actix-rt", - "actix-server", - "actix-service", - "actix-utils", - "actix-web-codegen", - "bytes", - "bytestring", - "cfg-if", - "derive_more", - "encoding_rs", - "foldhash", - "futures-core", - "futures-util", - "impl-more", - "itoa", - "language-tags", - "log", - "mime", - "once_cell", - "pin-project-lite", - "regex-lite", - "serde", - "serde_json", - "serde_urlencoded", - "smallvec", - "socket2", - "time", - "tracing", - "url", -] - -[[package]] -name = "actix-web-codegen" -version = "4.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f591380e2e68490b5dfaf1dd1aa0ebe78d84ba7067078512b4ea6e4492d622b8" -dependencies = [ - "actix-router", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "addr2line" version = "0.24.2" @@ -193,19 +17,6 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" -[[package]] -name = "ahash" -version = "0.8.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" -dependencies = [ - "cfg-if", - "getrandom 0.3.3", - "once_cell", - "version_check", - "zerocopy", -] - [[package]] name = "aho-corasick" version = "1.1.3" @@ -236,15 +47,6 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" -[[package]] -name = "arbitrary" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" -dependencies = [ - "derive_arbitrary", -] - [[package]] name = "atoi" version = "2.0.0" @@ -287,12 +89,6 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" -[[package]] -name = "bin-encode-decode" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65d0c660f94a990c6e9015951188fcb5bebc4d21b6dd82244597aab2ad47dc36" - [[package]] name = "bitflags" version = "2.9.1" @@ -332,12 +128,6 @@ dependencies = [ "alloc-stdlib", ] -[[package]] -name = "bumpalo" -version = "3.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee" - [[package]] name = "byteorder" version = "1.5.0" @@ -350,55 +140,12 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" -[[package]] -name = "bytestring" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e465647ae23b2823b0753f50decb2d5a86d2bb2cac04788fafd1f80e45378e5f" -dependencies = [ - "bytes", -] - [[package]] name = "cfg-if" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" -[[package]] -name = "chunkify" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b2709f42d3cc45eda703223726b05afd42c36f2642e2d292deee1c31b86c69" -dependencies = [ - "dashmap", - "file-operation", - "once_cell", - "tokio", - "twox-hash", -] - -[[package]] -name = "clonelicious" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd646e01c20889af081dc20be3aeea14aaaeb87f60f68799483ad716baa33020" - -[[package]] -name = "color-output" -version = "6.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "016afb96f1d207a365d175c64b6f7ddef44ba8dfc6ad60cafd596d9f0b146bb1" -dependencies = [ - "hyperlane-time", -] - -[[package]] -name = "compare_version" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a81172d3a2eb49276707c98711f3ea49a11f5566e4cb3092c738bbb7fd2098b" - [[package]] name = "concurrent-queue" version = "2.5.0" @@ -497,47 +244,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "deranged" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" -dependencies = [ - "powerfmt", -] - -[[package]] -name = "derive_arbitrary" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "derive_more" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" -dependencies = [ - "derive_more-impl", -] - -[[package]] -name = "derive_more-impl" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "unicode-xid", -] - [[package]] name = "digest" version = "0.10.7" @@ -576,15 +282,6 @@ dependencies = [ "serde", ] -[[package]] -name = "encoding_rs" -version = "0.8.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" -dependencies = [ - "cfg-if", -] - [[package]] name = "equivalent" version = "1.0.2" @@ -613,15 +310,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "file-operation" -version = "0.5.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1b81e9a35a431f57f3304aec4ed6a59c7f1fb82af62b02e18afe197e8e3769d" -dependencies = [ - "tokio", -] - [[package]] name = "flate2" version = "1.1.2" @@ -629,19 +317,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" dependencies = [ "crc32fast", - "libz-rs-sys", "miniz_oxide", ] -[[package]] -name = "float-cmp" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8" -dependencies = [ - "num-traits", -] - [[package]] name = "flume" version = "0.11.1" @@ -653,12 +331,6 @@ dependencies = [ "spin", ] -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - [[package]] name = "foldhash" version = "0.1.5" @@ -674,12 +346,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "future-fn" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "472364b0e6f990c5d86b3fb5d99003898ae88af155b82575d6ca67ef554a9426" - [[package]] name = "futures" version = "0.3.31" @@ -808,11 +474,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if", - "js-sys", "libc", "r-efi", "wasi 0.14.2+wasi-0.2.4", - "wasm-bindgen", ] [[package]] @@ -821,16 +485,6 @@ version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" -[[package]] -name = "halfbrown" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2c385c6df70fd180bbb673d93039dbd2cd34e41d782600bdf6e1ca7bce39aa" -dependencies = [ - "hashbrown 0.15.4", - "serde", -] - [[package]] name = "hashbrown" version = "0.14.5" @@ -902,23 +556,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "hot-restart" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a35c1ce67dc1d078f54ea1ed5293a49f11d63ff3a03b71c046319c31c9e4d243" - -[[package]] -name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - [[package]] name = "http-compress" version = "2.13.5" @@ -955,23 +592,11 @@ dependencies = [ "url", ] -[[package]] -name = "httparse" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" - -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - [[package]] name = "hyperlane" -version = "5.38.0" +version = "5.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d2a00c9ad518a87243758d49877b481b88815102a7f4bc17fd28e67ccf67115" +checksum = "2291a6f9a3d60bde6fd9c408313169ea589bce50a433cc6d4be9b83448de84bd" dependencies = [ "http-type", "lombok-macros", @@ -979,93 +604,24 @@ dependencies = [ "serde", ] -[[package]] -name = "hyperlane-broadcast" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7764d7256c4a54e929d2d82176108a718b2493ec982b353e382971b1fa02707e" -dependencies = [ - "dashmap", - "tokio", -] - -[[package]] -name = "hyperlane-log" -version = "1.17.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a07f72a789eaed32a981cd3f60c5ca10643e23ba7cfb715a9a835cb58cc5d4" -dependencies = [ - "file-operation", - "hyperlane-time", - "tokio", -] - -[[package]] -name = "hyperlane-macros" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aa2ac7ff86962a5ea884473ecab95fa917c0df9870057bd2b34c1cb8d0dfcb2" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "hyperlane-time" version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c145707425cdd097e117e8b4ee8baeaf8eb265658a5c37d2c4aa0b24fd26a507" -[[package]] -name = "hyperlane-utils" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5b3bed39f7357537c96a3da986317ea37cab022aaff5337c00b110db9a1101" -dependencies = [ - "ahash", - "bin-encode-decode", - "chunkify", - "clonelicious", - "color-output", - "compare_version", - "file-operation", - "future-fn", - "futures", - "hex", - "hot-restart", - "hyperlane-broadcast", - "hyperlane-log", - "hyperlane-macros", - "log", - "lombok-macros", - "num_cpus", - "once_cell", - "recoverable-spawn", - "recoverable-thread-pool", - "serde", - "serde-xml-rs", - "serde_json", - "serde_urlencoded", - "server-manager", - "simd-json", - "std-macro-extensions", - "twox-hash", - "url", - "urlencoding", - "utoipa", - "utoipa-rapidoc", - "utoipa-swagger-ui", -] - [[package]] name = "hyperlane_techempower" version = "0.1.0" dependencies = [ + "futures", "hyperlane", - "hyperlane-utils", + "hyperlane-time", + "num_cpus", + "once_cell", "rand 0.9.1", "serde", + "serde_json", "sqlx", ] @@ -1176,12 +732,6 @@ dependencies = [ "icu_properties", ] -[[package]] -name = "impl-more" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a5a9a0ff0086c7a148acb942baaabeadf9504d10400b5a05645853729b9cd2" - [[package]] name = "indexmap" version = "2.9.0" @@ -1190,7 +740,6 @@ checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", "hashbrown 0.15.4", - "serde", ] [[package]] @@ -1199,22 +748,6 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" -[[package]] -name = "js-sys" -version = "0.3.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" -dependencies = [ - "once_cell", - "wasm-bindgen", -] - -[[package]] -name = "language-tags" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388" - [[package]] name = "lazy_static" version = "1.5.0" @@ -1231,52 +764,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" [[package]] -name = "libm" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" - -[[package]] -name = "libsqlite3-sys" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" -dependencies = [ - "pkg-config", - "vcpkg", -] - -[[package]] -name = "libz-rs-sys" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "172a788537a2221661b480fee8dc5f96c580eb34fa88764d3205dc356c7e4221" -dependencies = [ - "zlib-rs", -] - -[[package]] -name = "litemap" -version = "0.8.0" +name = "libm" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] -name = "local-channel" -version = "0.1.5" +name = "libsqlite3-sys" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6cbc85e69b8df4b8bb8b89ec634e7189099cea8927a276b7384ce5488e53ec8" +checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" dependencies = [ - "futures-core", - "futures-sink", - "local-waker", + "pkg-config", + "vcpkg", ] [[package]] -name = "local-waker" -version = "0.1.4" +name = "litemap" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d873d7c67ce09b42110d801813efbc9364414e356be9935700d368351657487" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "lock_api" @@ -1321,22 +828,6 @@ version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "mime_guess" -version = "2.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" -dependencies = [ - "mime", - "unicase", -] - [[package]] name = "miniz_oxide" version = "0.8.9" @@ -1353,7 +844,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", - "log", "wasi 0.11.1+wasi-snapshot-preview1", "windows-sys 0.59.0", ] @@ -1375,12 +865,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - [[package]] name = "num-integer" version = "0.1.46" @@ -1528,12 +1012,6 @@ dependencies = [ "zerovec", ] -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - [[package]] name = "ppv-lite86" version = "0.2.21" @@ -1626,26 +1104,6 @@ dependencies = [ "getrandom 0.3.3", ] -[[package]] -name = "recoverable-spawn" -version = "3.7.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e80cb1811dee47b521fb2a022c3a533d378e24816b6e59763c18de10693eb6a" -dependencies = [ - "once_cell", - "tokio", -] - -[[package]] -name = "recoverable-thread-pool" -version = "2.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61323b7a7b470393e0a2ef3383ac50c2e19012b4aacea1101051a7cf8dc593fc" -dependencies = [ - "recoverable-spawn", - "tokio", -] - [[package]] name = "redox_syscall" version = "0.5.13" @@ -1655,26 +1113,6 @@ dependencies = [ "bitflags", ] -[[package]] -name = "ref-cast" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "regex" version = "1.11.1" @@ -1698,12 +1136,6 @@ dependencies = [ "regex-syntax", ] -[[package]] -name = "regex-lite" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a" - [[package]] name = "regex-syntax" version = "0.8.5" @@ -1730,40 +1162,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "rust-embed" -version = "8.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "025908b8682a26ba8d12f6f2d66b987584a4a87bc024abc5bbc12553a8cd178a" -dependencies = [ - "rust-embed-impl", - "rust-embed-utils", - "walkdir", -] - -[[package]] -name = "rust-embed-impl" -version = "8.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6065f1a4392b71819ec1ea1df1120673418bf386f50de1d6f54204d836d4349c" -dependencies = [ - "proc-macro2", - "quote", - "rust-embed-utils", - "syn", - "walkdir", -] - -[[package]] -name = "rust-embed-utils" -version = "8.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6cc0c81648b20b70c491ff8cce00c1c3b223bb8ed2b5d41f0e54c6c4c0a3594" -dependencies = [ - "sha2", - "walkdir", -] - [[package]] name = "rustc-demangle" version = "0.1.25" @@ -1776,15 +1174,6 @@ version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - [[package]] name = "scopeguard" version = "1.2.0" @@ -1847,15 +1236,6 @@ dependencies = [ "serde", ] -[[package]] -name = "server-manager" -version = "3.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44ef1cee6952595d4726b88ffbb1535f123955c0af5c2dbf508c643efc684c94" -dependencies = [ - "tokio", -] - [[package]] name = "sha1" version = "0.10.6" @@ -1897,33 +1277,6 @@ dependencies = [ "rand_core 0.6.4", ] -[[package]] -name = "simd-adler32" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" - -[[package]] -name = "simd-json" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c962f626b54771990066e5435ec8331d1462576cd2d1e62f24076ae014f92112" -dependencies = [ - "getrandom 0.3.3", - "halfbrown", - "ref-cast", - "serde", - "serde_json", - "simdutf8", - "value-trait", -] - -[[package]] -name = "simdutf8" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" - [[package]] name = "slab" version = "0.4.10" @@ -2162,12 +1515,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" -[[package]] -name = "std-macro-extensions" -version = "0.25.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a35e64ebd4e130e82fbcd036b66007e97ab95803080c51286cf6ec5cf9c7d546" - [[package]] name = "stringprep" version = "0.1.5" @@ -2247,37 +1594,6 @@ dependencies = [ "syn", ] -[[package]] -name = "time" -version = "0.3.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" -dependencies = [ - "deranged", - "itoa", - "num-conv", - "powerfmt", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" - -[[package]] -name = "time-macros" -version = "0.2.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" -dependencies = [ - "num-conv", - "time-core", -] - [[package]] name = "tinystr" version = "0.8.1" @@ -2343,19 +1659,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "tokio-util" -version = "0.7.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", -] - [[package]] name = "tracing" version = "0.1.41" @@ -2403,12 +1706,6 @@ version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" -[[package]] -name = "unicase" -version = "2.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" - [[package]] name = "unicode-bidi" version = "0.3.18" @@ -2436,12 +1733,6 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" -[[package]] -name = "unicode-xid" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" - [[package]] name = "url" version = "2.5.4" @@ -2453,90 +1744,12 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "urlencoding" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" - [[package]] name = "utf8_iter" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" -[[package]] -name = "utoipa" -version = "5.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fcc29c80c21c31608227e0912b2d7fddba57ad76b606890627ba8ee7964e993" -dependencies = [ - "indexmap", - "serde", - "serde_json", - "utoipa-gen", -] - -[[package]] -name = "utoipa-gen" -version = "5.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d79d08d92ab8af4c5e8a6da20c47ae3f61a0f1dabc1997cdf2d082b757ca08b" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "utoipa-rapidoc" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5f8f5abd341cce16bb4f09a8bafc087d4884a004f25fb980e538d51d6501dab" -dependencies = [ - "actix-web", - "serde", - "serde_json", - "utoipa", -] - -[[package]] -name = "utoipa-swagger-ui" -version = "9.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d047458f1b5b65237c2f6dc6db136945667f40a7668627b3490b9513a3d43a55" -dependencies = [ - "actix-web", - "base64", - "mime_guess", - "regex", - "rust-embed", - "serde", - "serde_json", - "url", - "utoipa", - "utoipa-swagger-ui-vendored", - "zip", -] - -[[package]] -name = "utoipa-swagger-ui-vendored" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2eebbbfe4093922c2b6734d7c679ebfebd704a0d7e56dfcb0d05818ce28977d" - -[[package]] -name = "value-trait" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0508fce11ad19e0aab49ce20b6bec7f8f82902ded31df1c9fc61b90f0eb396b8" -dependencies = [ - "float-cmp", - "halfbrown", - "itoa", - "ryu", -] - [[package]] name = "vcpkg" version = "0.2.15" @@ -2549,16 +1762,6 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -2580,63 +1783,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" -[[package]] -name = "wasm-bindgen" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" -dependencies = [ - "cfg-if", - "once_cell", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" -dependencies = [ - "unicode-ident", -] - [[package]] name = "whoami" version = "1.6.0" @@ -2647,15 +1793,6 @@ dependencies = [ "wasite", ] -[[package]] -name = "winapi-util" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" -dependencies = [ - "windows-sys 0.59.0", -] - [[package]] name = "windows-sys" version = "0.48.0" @@ -2928,35 +2065,3 @@ dependencies = [ "quote", "syn", ] - -[[package]] -name = "zip" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12598812502ed0105f607f941c386f43d441e00148fce9dec3ca5ffb0bde9308" -dependencies = [ - "arbitrary", - "crc32fast", - "flate2", - "indexmap", - "memchr", - "zopfli", -] - -[[package]] -name = "zlib-rs" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "626bd9fa9734751fc50d6060752170984d7053f5a39061f524cda68023d4db8a" - -[[package]] -name = "zopfli" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edfc5ee405f504cd4984ecc6f14d02d55cfda60fa4b689434ef4102aae150cd7" -dependencies = [ - "bumpalo", - "crc32fast", - "log", - "simd-adler32", -] diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 562fba890d8..f69ffbaf8e1 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -18,10 +18,14 @@ exclude = [ ] [dependencies] -hyperlane = "5.38.0" -hyperlane-utils = "0.19.0" +futures = "0.3.31" +hyperlane = "5.39.0" +hyperlane-time = "0.5.5" +num_cpus = "1.17.0" +once_cell = "1.21.3" rand = "0.9.1" serde = "1.0.219" +serde_json = "1.0.140" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } [profile.dev] diff --git a/frameworks/Rust/hyperlane/src/main.rs b/frameworks/Rust/hyperlane/src/main.rs index 09dbb09aa55..49cad12eb5b 100644 --- a/frameworks/Rust/hyperlane/src/main.rs +++ b/frameworks/Rust/hyperlane/src/main.rs @@ -16,6 +16,7 @@ pub(crate) use utils::*; pub(crate) use std::{fmt, hint::black_box, sync::Arc}; +pub(crate) use futures::{executor::block_on, future::join_all}; pub(crate) use hyperlane::{ tokio::{ runtime::{Builder, Runtime}, @@ -25,15 +26,12 @@ pub(crate) use hyperlane::{ }, *, }; -pub(crate) use hyperlane_utils::{ - futures::{executor::block_on, future::join_all}, - once_cell::sync::Lazy, - serde::*, - serde_json::{Value, json}, - *, -}; +pub(crate) use hyperlane_time::*; pub(crate) use lazy::*; +pub(crate) use once_cell::sync::Lazy; pub(crate) use rand::{Rng, SeedableRng, rng, rngs::SmallRng}; +pub(crate) use serde::*; +pub(crate) use serde_json::{Value, json}; pub(crate) use server::*; pub(crate) use sqlx::{ postgres::{PgPoolOptions, PgRow}, diff --git a/frameworks/Rust/hyperlane/src/utils.rs b/frameworks/Rust/hyperlane/src/utils.rs index 5b22bbb8447..76c9eb27f12 100644 --- a/frameworks/Rust/hyperlane/src/utils.rs +++ b/frameworks/Rust/hyperlane/src/utils.rs @@ -1,5 +1,16 @@ use super::*; +pub fn get_thread_count() -> usize { + let cpu_count: usize = num_cpus::get_physical(); + let total_threads: usize = num_cpus::get(); + let threads_per_cpu: usize = if cpu_count > 0 { + total_threads / cpu_count + } else { + 1 + }; + cpu_count * threads_per_cpu +} + pub fn escape_html(input: &str) -> String { let mut result: String = String::new(); for ch in input.chars() { From 01f3a7bff01bd3bdbf3f263c0178db7f408ecbeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 29 Jun 2025 12:06:12 +0800 Subject: [PATCH 232/260] feat: get_thread_count --- frameworks/Rust/hyperlane/src/utils.rs | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/utils.rs b/frameworks/Rust/hyperlane/src/utils.rs index 76c9eb27f12..dbd4da546f3 100644 --- a/frameworks/Rust/hyperlane/src/utils.rs +++ b/frameworks/Rust/hyperlane/src/utils.rs @@ -1,14 +1,7 @@ use super::*; pub fn get_thread_count() -> usize { - let cpu_count: usize = num_cpus::get_physical(); - let total_threads: usize = num_cpus::get(); - let threads_per_cpu: usize = if cpu_count > 0 { - total_threads / cpu_count - } else { - 1 - }; - cpu_count * threads_per_cpu + num_cpus::get().max(1) } pub fn escape_html(input: &str) -> String { From 0e60472011c2fd9cbf437a286200302b9b404fe9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 4 Jul 2025 19:49:57 +0800 Subject: [PATCH 233/260] update: code --- frameworks/Rust/hyperlane/Cargo.lock | 25 +++++++++++++++++++------ frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index df5b7c8e55a..4c12a9afddd 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -575,9 +575,9 @@ checksum = "087d27cd719e5a80b34b1fab3aead80a366ce4e903d198334ede177f391e1fbb" [[package]] name = "http-type" -version = "4.26.0" +version = "4.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6831414384644bced5286ecba9ce813f72db3048e83b18f0e65f065e9d7fbe86" +checksum = "6804e58f67d8afc41be9f546ae35f8505ee2695c0e27b6e94a67aae56017bd7d" dependencies = [ "dashmap", "hex", @@ -594,9 +594,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "5.39.0" +version = "5.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2291a6f9a3d60bde6fd9c408313169ea589bce50a433cc6d4be9b83448de84bd" +checksum = "b7581865927715597cb3ac428b2a6269880136370350469fab2bdc5c5e56b629" dependencies = [ "http-type", "lombok-macros", @@ -742,6 +742,17 @@ dependencies = [ "hashbrown 0.15.4", ] +[[package]] +name = "io-uring" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013" +dependencies = [ + "bitflags", + "cfg-if", + "libc", +] + [[package]] name = "itoa" version = "1.0.15" @@ -1621,17 +1632,19 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.45.1" +version = "1.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" +checksum = "1140bb80481756a8cbe10541f37433b459c5aa1e727b4c020fbfebdc25bf3ec4" dependencies = [ "backtrace", "bytes", + "io-uring", "libc", "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", + "slab", "socket2", "tokio-macros", "windows-sys 0.52.0", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index f69ffbaf8e1..15574d8e99b 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -19,7 +19,7 @@ exclude = [ [dependencies] futures = "0.3.31" -hyperlane = "5.39.0" +hyperlane = "5.40.0" hyperlane-time = "0.5.5" num_cpus = "1.17.0" once_cell = "1.21.3" From 5a62ddf7ae8cf382480afc9e88001d9979df29e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 5 Jul 2025 21:30:42 +0800 Subject: [PATCH 234/260] feat: lock --- frameworks/Rust/hyperlane/Cargo.lock | 32 ++++++++++++++-------------- frameworks/Rust/hyperlane/Cargo.toml | 6 +++--- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 4c12a9afddd..536749cba52 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -558,9 +558,9 @@ dependencies = [ [[package]] name = "http-compress" -version = "2.13.5" +version = "2.13.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90935a9ba153dcca173ac3787b8c0b5e74eabc982a9ddf801da885d17ea20c25" +checksum = "c8e96d49fe9cb2263dd459ed72df6206870f0c0c6befa0bbc79227771c630a4c" dependencies = [ "brotli", "flate2", @@ -569,15 +569,15 @@ dependencies = [ [[package]] name = "http-constant" -version = "1.50.0" +version = "1.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "087d27cd719e5a80b34b1fab3aead80a366ce4e903d198334ede177f391e1fbb" +checksum = "2bcafcd7f8e3b8801c795910e390f461c765065502b294decccb7715d20c3bfa" [[package]] name = "http-type" -version = "4.27.0" +version = "4.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6804e58f67d8afc41be9f546ae35f8505ee2695c0e27b6e94a67aae56017bd7d" +checksum = "61b7ebec2f82af03e6e15005e0244ad2e08df1fffccafee3493e70222fa11a10" dependencies = [ "dashmap", "hex", @@ -594,9 +594,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "5.40.0" +version = "5.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7581865927715597cb3ac428b2a6269880136370350469fab2bdc5c5e56b629" +checksum = "21630ec0514aff461fbd197da6d8436649559f5508806e80c5ddc0ef34287f82" dependencies = [ "http-type", "lombok-macros", @@ -606,9 +606,9 @@ dependencies = [ [[package]] name = "hyperlane-time" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c145707425cdd097e117e8b4ee8baeaf8eb265658a5c37d2c4aa0b24fd26a507" +checksum = "7d7e07007bd67be0c3f07646066d9300ea999fb7d3371610354393101ac2db2c" [[package]] name = "hyperlane_techempower" @@ -814,9 +814,9 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "lombok-macros" -version = "1.12.1" +version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8233f6e95093f205641478acbae36ebed40d71f6e89329ce92c0d3345aeb15a0" +checksum = "5a9490d57fd90a670d464a8a464e65a5822d1f34badd8ada1c53c0572f98e10e" dependencies = [ "proc-macro2", "quote", @@ -1545,9 +1545,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.103" +version = "2.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4307e30089d6fd6aff212f2da3a1f9e32f3223b1f010fb09b7c95f90f3ca1e8" +checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" dependencies = [ "proc-macro2", "quote", @@ -1632,9 +1632,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.46.0" +version = "1.46.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1140bb80481756a8cbe10541f37433b459c5aa1e727b4c020fbfebdc25bf3ec4" +checksum = "0cc3a2344dafbe23a245241fe8b09735b521110d30fcefbbd5feb1797ca35d17" dependencies = [ "backtrace", "bytes", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 15574d8e99b..96d2bc484a9 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -2,7 +2,7 @@ name = "hyperlane_techempower" version = "0.1.0" edition = "2024" -authors = ["root@ltpp.vip"] +authors = ["root@ltpp.vip"] license = "MIT" description = """Hyperlane is a lightweight and high-performance Rust HTTP server library designed to simplify network service development. It supports HTTP request parsing, response building, and TCP communication, making it ideal for building modern web services. Additionally, it provides support for request and response middleware, WebSocket, and Server-Sent Events (SSE), enabling flexible and efficient real-time communication.""" keywords = ["http", "request", "response", "tcp", "redirect"] @@ -19,8 +19,8 @@ exclude = [ [dependencies] futures = "0.3.31" -hyperlane = "5.40.0" -hyperlane-time = "0.5.5" +hyperlane = "5.40.1" +hyperlane-time = "0.5.6" num_cpus = "1.17.0" once_cell = "1.21.3" rand = "0.9.1" From b1325eb9c64f9366b1a1fecc2acbb78efa66b7e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 1 Aug 2025 08:22:41 +0800 Subject: [PATCH 235/260] feat: speed --- frameworks/Rust/hyperlane/Cargo.lock | 108 +++++------- frameworks/Rust/hyperlane/Cargo.toml | 12 +- frameworks/Rust/hyperlane/README.md | 4 +- frameworks/Rust/hyperlane/src/const.rs | 1 + .../Rust/hyperlane/src/request_middleware.rs | 12 +- frameworks/Rust/hyperlane/src/route.rs | 154 ++++++++++-------- frameworks/Rust/hyperlane/src/server.rs | 41 +++-- 7 files changed, 168 insertions(+), 164 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 536749cba52..9888ba18766 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -187,9 +187,9 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" -version = "1.4.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ "cfg-if", ] @@ -219,20 +219,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "dashmap" -version = "6.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" -dependencies = [ - "cfg-if", - "crossbeam-utils", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", -] - [[package]] name = "der" version = "0.7.10" @@ -485,12 +471,6 @@ version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" - [[package]] name = "hashbrown" version = "0.15.4" @@ -508,7 +488,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" dependencies = [ - "hashbrown 0.15.4", + "hashbrown", ] [[package]] @@ -558,9 +538,9 @@ dependencies = [ [[package]] name = "http-compress" -version = "2.13.7" +version = "2.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e96d49fe9cb2263dd459ed72df6206870f0c0c6befa0bbc79227771c630a4c" +checksum = "c314f79b2e2c441161f55a79a545206f1ac93757009a7ba3bb3265ea4682f9e7" dependencies = [ "brotli", "flate2", @@ -569,17 +549,16 @@ dependencies = [ [[package]] name = "http-constant" -version = "1.51.1" +version = "1.59.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bcafcd7f8e3b8801c795910e390f461c765065502b294decccb7715d20c3bfa" +checksum = "887157a2e25d623755ac1dcc670e2e2d20e46dcbc2b2389a048dcb0dab74dacd" [[package]] name = "http-type" -version = "4.27.3" +version = "4.55.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61b7ebec2f82af03e6e15005e0244ad2e08df1fffccafee3493e70222fa11a10" +checksum = "986a7315b8ea73b17750e6306b6fb29eaacdb0061812715074ffbded248181a3" dependencies = [ - "dashmap", "hex", "http-compress", "http-constant", @@ -594,9 +573,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "5.40.1" +version = "5.66.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21630ec0514aff461fbd197da6d8436649559f5508806e80c5ddc0ef34287f82" +checksum = "0df02aad9b3cbe69e46762b4fce9bd0b16c4dc2ebac5ada89674d612e6c5ff21" dependencies = [ "http-type", "lombok-macros", @@ -606,9 +585,9 @@ dependencies = [ [[package]] name = "hyperlane-time" -version = "0.5.6" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d7e07007bd67be0c3f07646066d9300ea999fb7d3371610354393101ac2db2c" +checksum = "2398b90ccee6c47d163bbf1a1af956f631233caa13bbd9ae3f25d6afbcdc36a5" [[package]] name = "hyperlane_techempower" @@ -619,7 +598,7 @@ dependencies = [ "hyperlane-time", "num_cpus", "once_cell", - "rand 0.9.1", + "rand 0.9.2", "serde", "serde_json", "sqlx", @@ -734,19 +713,19 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" dependencies = [ "equivalent", - "hashbrown 0.15.4", + "hashbrown", ] [[package]] name = "io-uring" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013" +checksum = "d93587f37623a1a17d94ef2bc9ada592f5465fe7732084ab7beefabe5c77c0c4" dependencies = [ "bitflags", "cfg-if", @@ -814,9 +793,9 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "lombok-macros" -version = "1.12.2" +version = "1.13.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9490d57fd90a670d464a8a464e65a5822d1f34badd8ada1c53c0572f98e10e" +checksum = "1646ba3efb4eb20aef4464578ab7a9e9742457d0891643a0f0078e6780cd60ae" dependencies = [ "proc-macro2", "quote", @@ -1069,9 +1048,9 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.3", @@ -1117,9 +1096,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.13" +version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" +checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" dependencies = [ "bitflags", ] @@ -1175,9 +1154,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.25" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f" +checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" [[package]] name = "ryu" @@ -1225,9 +1204,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.140" +version = "1.0.142" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +checksum = "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7" dependencies = [ "itoa", "memchr", @@ -1305,12 +1284,12 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.10" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" +checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1361,7 +1340,7 @@ dependencies = [ "futures-intrusive", "futures-io", "futures-util", - "hashbrown 0.15.4", + "hashbrown", "hashlink", "indexmap", "log", @@ -1632,9 +1611,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.46.1" +version = "1.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc3a2344dafbe23a245241fe8b09735b521110d30fcefbbd5feb1797ca35d17" +checksum = "43864ed400b6043a4757a25c7a64a8efde741aed79a056a2fb348a406701bb35" dependencies = [ "backtrace", "bytes", @@ -1647,7 +1626,7 @@ dependencies = [ "slab", "socket2", "tokio-macros", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1710,7 +1689,7 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b907da542cbced5261bd3256de1b3a1bf340a3d37f93425a07362a1d687de56" dependencies = [ - "rand 0.9.1", + "rand 0.9.2", ] [[package]] @@ -1815,15 +1794,6 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.6", -] - [[package]] name = "windows-sys" version = "0.59.0" @@ -1971,9 +1941,9 @@ checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" [[package]] name = "xml-rs" -version = "0.8.26" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62ce76d9b56901b19a74f19431b0d8b3bc7ca4ad685a746dfd78ca8f4fc6bda" +checksum = "6fd8403733700263c6eb89f192880191f1b83e332f7a20371ddcf421c4a337c7" [[package]] name = "yoke" diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 96d2bc484a9..db5b9e4baa6 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -4,9 +4,9 @@ version = "0.1.0" edition = "2024" authors = ["root@ltpp.vip"] license = "MIT" -description = """Hyperlane is a lightweight and high-performance Rust HTTP server library designed to simplify network service development. It supports HTTP request parsing, response building, and TCP communication, making it ideal for building modern web services. Additionally, it provides support for request and response middleware, WebSocket, and Server-Sent Events (SSE), enabling flexible and efficient real-time communication.""" +description = """A lightweight rust http server with middleware, websocket, sse, and tcp support, built on tokio for cross-platform async networking, hyperlane simplifies modern web service development.""" keywords = ["http", "request", "response", "tcp", "redirect"] -repository = "https://github.com/eastspire/hyperlane.git" +repository = "https://github.com/hyperlane-dev/hyperlane.git" categories = ["network-programming", "web-programming"] exclude = [ "target", @@ -19,13 +19,13 @@ exclude = [ [dependencies] futures = "0.3.31" -hyperlane = "5.40.1" -hyperlane-time = "0.5.6" +hyperlane = "5.66.5" +hyperlane-time = "0.7.3" num_cpus = "1.17.0" once_cell = "1.21.3" -rand = "0.9.1" +rand = "0.9.2" serde = "1.0.219" -serde_json = "1.0.140" +serde_json = "1.0.142" sqlx = { version = "0.8.6", features = ["runtime-tokio", "postgres"] } [profile.dev] diff --git a/frameworks/Rust/hyperlane/README.md b/frameworks/Rust/hyperlane/README.md index d2b95b513b9..a2464476a91 100644 --- a/frameworks/Rust/hyperlane/README.md +++ b/frameworks/Rust/hyperlane/README.md @@ -1,8 +1,8 @@ -# [hyperlane](https://github.com/eastspire/hyperlane) web framework +# [hyperlane](https://github.com/hyperlane-dev/hyperlane) web framework ## Description -> Hyperlane is a lightweight and high-performance Rust HTTP server library designed to simplify network service development. It supports HTTP request parsing, response building, and TCP communication, making it ideal for building modern web services. Additionally, it provides support for request and response middleware, WebSocket, and Server-Sent Events (SSE), enabling flexible and efficient real-time communication. Built with pure Rust and standard library, Hyperlane offers true cross-platform compatibility across Windows, Linux and macOS, with the same API experience on all platforms, powered by Tokio's async runtime for seamless networking without platform-specific dependencies. +> A lightweight rust http server with middleware, websocket, sse, and tcp support, built on tokio for cross-platform async networking, hyperlane simplifies modern web service development. ## Database diff --git a/frameworks/Rust/hyperlane/src/const.rs b/frameworks/Rust/hyperlane/src/const.rs index 93728efd2e4..c68b37c2bd1 100644 --- a/frameworks/Rust/hyperlane/src/const.rs +++ b/frameworks/Rust/hyperlane/src/const.rs @@ -15,3 +15,4 @@ pub const KEY_ID: &str = "id"; pub const KEY_RANDOM_NUMBER: &str = "randomnumber"; pub const KEY_MESSAGE: &str = "message"; pub const DB_MAX_CONNECTIONS: u32 = 100; +pub const HTTP_BUFFER: usize = 256; diff --git a/frameworks/Rust/hyperlane/src/request_middleware.rs b/frameworks/Rust/hyperlane/src/request_middleware.rs index 2c598f982b2..6f6467cb8c9 100644 --- a/frameworks/Rust/hyperlane/src/request_middleware.rs +++ b/frameworks/Rust/hyperlane/src/request_middleware.rs @@ -1,21 +1,21 @@ use super::*; pub async fn request(ctx: Context) { - ctx.set_response_header(CONNECTION, KEEP_ALIVE) + ctx.replace_response_header(CONNECTION, KEEP_ALIVE) .await - .set_response_header(SERVER, HYPERLANE) + .replace_response_header(SERVER, HYPERLANE) .await - .set_response_header(DATE, gmt()) + .replace_response_header(DATE, gmt()) .await .set_response_status_code(200) .await; #[cfg(feature = "plaintext")] { - ctx.set_response_header(CONTENT_TYPE, TEXT_PLAIN).await; + ctx.replace_response_header(CONTENT_TYPE, TEXT_PLAIN).await; } #[cfg(feature = "fortunes")] { - ctx.set_response_header( + ctx.replace_response_header( CONTENT_TYPE, ContentType::format_content_type_with_charset(TEXT_HTML, UTF8), ) @@ -29,7 +29,7 @@ pub async fn request(ctx: Context) { feature = "cached_query" ))] { - ctx.set_response_header(CONTENT_TYPE, APPLICATION_JSON) + ctx.replace_response_header(CONTENT_TYPE, APPLICATION_JSON) .await; } } diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 1eaa40d61d7..978343032b4 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -1,94 +1,106 @@ use super::*; pub async fn json(ctx: Context) { - let json: Value = json!({ - "message": RESPONSEDATA_STR - }); - let _ = ctx - .set_response_body(serde_json::to_string(&json).unwrap_or_default()) - .await - .send() - .await; + while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { + let json: Value = json!({ + "message": RESPONSEDATA_STR + }); + ctx.set_response_body(serde_json::to_string(&json).unwrap_or_default()) + .await; + let _ = ctx.send().await; + } } pub async fn plaintext(ctx: Context) { - let _ = ctx.set_response_body(RESPONSEDATA_BIN).await.send().await; + while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { + let _ = ctx.set_response_body(RESPONSEDATA_BIN).await.send().await; + } } pub async fn db(ctx: Context) { let db_connection: &DbPoolConnection = get_db_connection(); - let query_row: QueryRow = random_world_row(db_connection).await; - let _ = ctx - .set_response_body(serde_json::to_string(&query_row).unwrap_or_default()) - .await - .send() - .await; + while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { + let query_row: QueryRow = random_world_row(db_connection).await; + let _ = ctx + .set_response_body(serde_json::to_string(&query_row).unwrap_or_default()) + .await + .send() + .await; + } } pub async fn query(ctx: Context) { - let queries: Queries = ctx - .get_request_query("q") - .await - .and_then(|queries| queries.parse::().ok()) - .unwrap_or_default() - .min(ROW_LIMIT as Queries) - .max(1); - let db_pool: &DbPoolConnection = get_db_connection(); - let data: Vec = get_some_row_id(queries, db_pool).await; - let _ = ctx - .set_response_body(serde_json::to_string(&data).unwrap_or_default()) - .await - .send() - .await; + while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { + let queries: Queries = ctx + .get_request_query("q") + .await + .and_then(|queries| queries.parse::().ok()) + .unwrap_or_default() + .min(ROW_LIMIT as Queries) + .max(1); + let db_pool: &DbPoolConnection = get_db_connection(); + let data: Vec = get_some_row_id(queries, db_pool).await; + let _ = ctx + .set_response_body(serde_json::to_string(&data).unwrap_or_default()) + .await + .send() + .await; + } } pub async fn fortunes(ctx: Context) { - let all_rows: Vec = all_world_row().await; - let mut fortunes_list: Vec = all_rows - .iter() - .map(|row| { - let id: i32 = row.get(KEY_ID); - let message: String = row.get(KEY_MESSAGE); - Fortunes::new(id, message) - }) - .collect(); - fortunes_list.push(Fortunes::new( - 0, - "Additional fortune added at request time.".to_owned(), - )); - fortunes_list.sort_by(|it, next| it.message.cmp(&next.message)); - let res: String = FortunesTemplate::new(fortunes_list).to_string(); - let _ = ctx.set_response_body(res).await.send().await; + while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { + let all_rows: Vec = all_world_row().await; + let mut fortunes_list: Vec = all_rows + .iter() + .map(|row| { + let id: i32 = row.get(KEY_ID); + let message: String = row.get(KEY_MESSAGE); + Fortunes::new(id, message) + }) + .collect(); + fortunes_list.push(Fortunes::new( + 0, + "Additional fortune added at request time.".to_owned(), + )); + fortunes_list.sort_by(|it, next| it.message.cmp(&next.message)); + let res: String = FortunesTemplate::new(fortunes_list).to_string(); + let _ = ctx.set_response_body(res).await.send().await; + } } pub async fn update(ctx: Context) { - let queries: Queries = ctx - .get_request_query("q") - .await - .and_then(|queries| queries.parse::().ok()) - .unwrap_or_default() - .min(ROW_LIMIT as Queries) - .max(1); - let res: Vec = update_world_rows(queries).await; - let _ = ctx - .set_response_body(serde_json::to_string(&res).unwrap_or_default()) - .await - .send() - .await; + while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { + let queries: Queries = ctx + .get_request_query("q") + .await + .and_then(|queries| queries.parse::().ok()) + .unwrap_or_default() + .min(ROW_LIMIT as Queries) + .max(1); + let res: Vec = update_world_rows(queries).await; + let _ = ctx + .set_response_body(serde_json::to_string(&res).unwrap_or_default()) + .await + .send() + .await; + } } pub async fn cached_query(ctx: Context) { - let count: Queries = ctx - .get_request_query("c") - .await - .and_then(|queries| queries.parse::().ok()) - .unwrap_or_default() - .min(ROW_LIMIT as Queries) - .max(1); - let res: Vec = CACHE.iter().take(count as usize).cloned().collect(); - let _ = ctx - .set_response_body(serde_json::to_string(&res).unwrap_or_default()) - .await - .send() - .await; + while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { + let count: Queries = ctx + .get_request_query("c") + .await + .and_then(|queries| queries.parse::().ok()) + .unwrap_or_default() + .min(ROW_LIMIT as Queries) + .max(1); + let res: Vec = CACHE.iter().take(count as usize).cloned().collect(); + let _ = ctx + .set_response_body(serde_json::to_string(&res).unwrap_or_default()) + .await + .send() + .await; + } } diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index e469a774c9f..383b697a77e 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -17,24 +17,45 @@ async fn init_server() { server.port(8080).await; server.disable_linger().await; server.disable_nodelay().await; - server.error_handler(async |_: PanicInfo| {}).await; - server.http_buffer_size(256).await; - server.ws_buffer_size(256).await; + server.http_buffer(256).await; + server.ws_buffer(256).await; + server.panic_hook(async |_: Context| {}).await; server.request_middleware(request_middleware::request).await; #[cfg(any(feature = "dev", feature = "plaintext"))] - server.route("/plaintext", route::plaintext).await; + { + server.disable_http_hook("/plaintext").await; + server.route("/plaintext", route::plaintext).await; + } #[cfg(any(feature = "dev", feature = "json"))] - server.route("/json", route::json).await; + { + server.disable_http_hook("/json").await; + server.route("/json", route::json).await; + } #[cfg(any(feature = "dev", feature = "cached_query"))] - server.route("/cached-quer", route::cached_query).await; + { + server.disable_http_hook("/cached-quer").await; + server.route("/cached-quer", route::cached_query).await; + } #[cfg(any(feature = "dev", feature = "db"))] - server.route("/db", route::db).await; + { + server.disable_http_hook("/db").await; + server.route("/db", route::db).await; + } #[cfg(any(feature = "dev", feature = "query"))] - server.route("/query", route::query).await; + { + server.disable_http_hook("/query").await; + server.route("/query", route::query).await; + } #[cfg(any(feature = "dev", feature = "fortunes"))] - server.route("/fortunes", route::fortunes).await; + { + server.disable_http_hook("/fortunes").await; + server.route("/fortunes", route::fortunes).await; + } #[cfg(any(feature = "dev", feature = "update"))] - server.route("/upda", route::update).await; + { + server.disable_http_hook("/upda").await; + server.route("/upda", route::update).await; + } server.run().await.unwrap(); } From e7bd1f61a3e44716dee5d38a35d6d70a2fa27ed5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 1 Aug 2025 08:51:24 +0800 Subject: [PATCH 236/260] feat: speed --- frameworks/Rust/hyperlane/src/route.rs | 49 ++++++++++++++++++++------ 1 file changed, 39 insertions(+), 10 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 978343032b4..3d74dd6a639 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -1,36 +1,49 @@ use super::*; pub async fn json(ctx: Context) { - while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { - let json: Value = json!({ - "message": RESPONSEDATA_STR - }); + let json: Value = json!({ + "message": RESPONSEDATA_STR + }); + let run = || async { ctx.set_response_body(serde_json::to_string(&json).unwrap_or_default()) .await; let _ = ctx.send().await; + }; + run().await; + while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { + run().await; } } pub async fn plaintext(ctx: Context) { + ctx.set_response_body(RESPONSEDATA_BIN).await; + let run = || async { + let _ = ctx.send().await; + }; + run().await; while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { - let _ = ctx.set_response_body(RESPONSEDATA_BIN).await.send().await; + run().await; } } pub async fn db(ctx: Context) { let db_connection: &DbPoolConnection = get_db_connection(); - while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { + let run = || async { let query_row: QueryRow = random_world_row(db_connection).await; let _ = ctx .set_response_body(serde_json::to_string(&query_row).unwrap_or_default()) .await .send() .await; + }; + run().await; + while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { + run().await; } } pub async fn query(ctx: Context) { - while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { + let run = || async { let queries: Queries = ctx .get_request_query("q") .await @@ -45,11 +58,15 @@ pub async fn query(ctx: Context) { .await .send() .await; + }; + run().await; + while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { + run().await; } } pub async fn fortunes(ctx: Context) { - while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { + let run = || async { let all_rows: Vec = all_world_row().await; let mut fortunes_list: Vec = all_rows .iter() @@ -66,11 +83,15 @@ 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(); let _ = ctx.set_response_body(res).await.send().await; + }; + run().await; + while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { + run().await; } } pub async fn update(ctx: Context) { - while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { + let run = || async { let queries: Queries = ctx .get_request_query("q") .await @@ -84,11 +105,15 @@ pub async fn update(ctx: Context) { .await .send() .await; + }; + run().await; + while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { + run().await; } } pub async fn cached_query(ctx: Context) { - while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { + let run = || async { let count: Queries = ctx .get_request_query("c") .await @@ -102,5 +127,9 @@ pub async fn cached_query(ctx: Context) { .await .send() .await; + }; + run().await; + while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { + run().await; } } From ebe4c116dc7b7f209f7cbab0b37f68886538f948 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 1 Aug 2025 13:41:15 +0800 Subject: [PATCH 237/260] update: code --- frameworks/Rust/hyperlane/src/route.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 3d74dd6a639..91b960a5178 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -13,6 +13,7 @@ pub async fn json(ctx: Context) { while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { run().await; } + ctx.closed().await; } pub async fn plaintext(ctx: Context) { @@ -24,6 +25,7 @@ pub async fn plaintext(ctx: Context) { while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { run().await; } + ctx.closed().await; } pub async fn db(ctx: Context) { @@ -40,6 +42,7 @@ pub async fn db(ctx: Context) { while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { run().await; } + ctx.closed().await; } pub async fn query(ctx: Context) { @@ -63,6 +66,7 @@ pub async fn query(ctx: Context) { while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { run().await; } + ctx.closed().await; } pub async fn fortunes(ctx: Context) { @@ -88,6 +92,7 @@ pub async fn fortunes(ctx: Context) { while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { run().await; } + ctx.closed().await; } pub async fn update(ctx: Context) { @@ -110,6 +115,7 @@ pub async fn update(ctx: Context) { while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { run().await; } + ctx.closed().await; } pub async fn cached_query(ctx: Context) { @@ -132,4 +138,5 @@ pub async fn cached_query(ctx: Context) { while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { run().await; } + ctx.closed().await; } From 2a676d2bd1c287ebe09b75451f85dfe84360bd13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 1 Aug 2025 18:04:49 +0800 Subject: [PATCH 238/260] feat: speed --- frameworks/Rust/hyperlane/Cargo.lock | 8 ++++---- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 9888ba18766..6fb04f67d3e 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -555,9 +555,9 @@ checksum = "887157a2e25d623755ac1dcc670e2e2d20e46dcbc2b2389a048dcb0dab74dacd" [[package]] name = "http-type" -version = "4.55.2" +version = "4.55.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "986a7315b8ea73b17750e6306b6fb29eaacdb0061812715074ffbded248181a3" +checksum = "f44b5ba384056338f7b2081157a76d742d7d6d174f159bd30e49d16bbde19013" dependencies = [ "hex", "http-compress", @@ -573,9 +573,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "5.66.5" +version = "5.66.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0df02aad9b3cbe69e46762b4fce9bd0b16c4dc2ebac5ada89674d612e6c5ff21" +checksum = "6c42551ed162931fd810c2b9573bef5e84b4d340490ff90cdb10e234534f374d" dependencies = [ "http-type", "lombok-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index db5b9e4baa6..31bc14758c0 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -19,7 +19,7 @@ exclude = [ [dependencies] futures = "0.3.31" -hyperlane = "5.66.5" +hyperlane = "5.66.6" hyperlane-time = "0.7.3" num_cpus = "1.17.0" once_cell = "1.21.3" From 2377d0c7c5461affac86ebab4f3bc25ee71bc4c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Fri, 1 Aug 2025 19:15:21 +0800 Subject: [PATCH 239/260] update: code --- frameworks/Rust/hyperlane/.gitignore | 2 +- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frameworks/Rust/hyperlane/.gitignore b/frameworks/Rust/hyperlane/.gitignore index c0ed7d09f10..791af9f28cb 100644 --- a/frameworks/Rust/hyperlane/.gitignore +++ b/frameworks/Rust/hyperlane/.gitignore @@ -1,2 +1,2 @@ /target -/logs \ No newline at end of file +/logs diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 6fb04f67d3e..5f771761e27 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -573,9 +573,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "5.66.6" +version = "5.66.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c42551ed162931fd810c2b9573bef5e84b4d340490ff90cdb10e234534f374d" +checksum = "62d8a41381a63c6dfca817a95a9d0e139d6ea997291d7ce5447a060b3b627f2d" dependencies = [ "http-type", "lombok-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 31bc14758c0..41e5fe2dc62 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -19,7 +19,7 @@ exclude = [ [dependencies] futures = "0.3.31" -hyperlane = "5.66.6" +hyperlane = "5.66.7" hyperlane-time = "0.7.3" num_cpus = "1.17.0" once_cell = "1.21.3" From a7931f6de33ee34b8ee18e828e51c3e935441f85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 2 Aug 2025 18:59:28 +0800 Subject: [PATCH 240/260] feat: lock --- frameworks/Rust/hyperlane/Cargo.lock | 28 ++++++++++++++-------------- frameworks/Rust/hyperlane/Cargo.toml | 5 +++-- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 5f771761e27..0255a28e0d0 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -538,9 +538,9 @@ dependencies = [ [[package]] name = "http-compress" -version = "2.16.1" +version = "2.16.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c314f79b2e2c441161f55a79a545206f1ac93757009a7ba3bb3265ea4682f9e7" +checksum = "5f05a0df775c3bc6781f6cac42e775f2f26c07110f123b7084fb0cee010f9b93" dependencies = [ "brotli", "flate2", @@ -549,15 +549,15 @@ dependencies = [ [[package]] name = "http-constant" -version = "1.59.2" +version = "1.59.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "887157a2e25d623755ac1dcc670e2e2d20e46dcbc2b2389a048dcb0dab74dacd" +checksum = "8d68fc1cd9b672083471b783a0f17f4df5eb470f79a2685b6f55e631618bcd2b" [[package]] name = "http-type" -version = "4.55.3" +version = "4.55.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f44b5ba384056338f7b2081157a76d742d7d6d174f159bd30e49d16bbde19013" +checksum = "f2bddb967a8397bc3fab786c9acd7bc0b74855a53b017310839c0ed786bb2a01" dependencies = [ "hex", "http-compress", @@ -573,9 +573,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "5.66.7" +version = "5.66.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62d8a41381a63c6dfca817a95a9d0e139d6ea997291d7ce5447a060b3b627f2d" +checksum = "774f11795bd656637e5b93116f449bf20be8e04ced64d518deeb9bfd009c55cd" dependencies = [ "http-type", "lombok-macros", @@ -585,9 +585,9 @@ dependencies = [ [[package]] name = "hyperlane-time" -version = "0.7.3" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2398b90ccee6c47d163bbf1a1af956f631233caa13bbd9ae3f25d6afbcdc36a5" +checksum = "ed590017e6b8cd1c4f25cf6b5beda4efd3c5a76842c8782dca4fe650552a6c21" [[package]] name = "hyperlane_techempower" @@ -793,9 +793,9 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "lombok-macros" -version = "1.13.7" +version = "1.13.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1646ba3efb4eb20aef4464578ab7a9e9742457d0891643a0f0078e6780cd60ae" +checksum = "957cebc76c95471ab0ea52c2c2b0c15cdccefd1a7de24e753357b3322fafd420" dependencies = [ "proc-macro2", "quote", @@ -1611,9 +1611,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.47.0" +version = "1.47.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43864ed400b6043a4757a25c7a64a8efde741aed79a056a2fb348a406701bb35" +checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" dependencies = [ "backtrace", "bytes", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 41e5fe2dc62..e7812f46620 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -1,6 +1,7 @@ [package] name = "hyperlane_techempower" version = "0.1.0" +readme = "README.md" edition = "2024" authors = ["root@ltpp.vip"] license = "MIT" @@ -19,8 +20,8 @@ exclude = [ [dependencies] futures = "0.3.31" -hyperlane = "5.66.7" -hyperlane-time = "0.7.3" +hyperlane = "5.66.11" +hyperlane-time = "0.7.7" num_cpus = "1.17.0" once_cell = "1.21.3" rand = "0.9.2" From 426a2a930543767b63819f3371aa57fd4bc6638f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 2 Aug 2025 20:35:58 +0800 Subject: [PATCH 241/260] fix: Framework hyperlane does not define a default test in benchmark_config.json --- frameworks/Rust/hyperlane/Cargo.toml | 7 -- .../Rust/hyperlane/benchmark_config.json | 94 +------------------ .../hyperlane.cached_query.dockerfile | 15 --- ...ockerfile => hyperlane.default.dockerfile} | 2 +- .../hyperlane/hyperlane.fortunes.dockerfile | 15 --- .../Rust/hyperlane/hyperlane.json.dockerfile | 15 --- .../hyperlane/hyperlane.plaintext.dockerfile | 15 --- .../Rust/hyperlane/hyperlane.query.dockerfile | 15 --- .../hyperlane/hyperlane.update.dockerfile | 15 --- .../Rust/hyperlane/src/request_middleware.rs | 25 +---- frameworks/Rust/hyperlane/src/route.rs | 6 ++ frameworks/Rust/hyperlane/src/server.rs | 87 ++++++++--------- 12 files changed, 55 insertions(+), 256 deletions(-) delete mode 100644 frameworks/Rust/hyperlane/hyperlane.cached_query.dockerfile rename frameworks/Rust/hyperlane/{hyperlane.db.dockerfile => hyperlane.default.dockerfile} (91%) delete mode 100644 frameworks/Rust/hyperlane/hyperlane.fortunes.dockerfile delete mode 100644 frameworks/Rust/hyperlane/hyperlane.json.dockerfile delete mode 100644 frameworks/Rust/hyperlane/hyperlane.plaintext.dockerfile delete mode 100644 frameworks/Rust/hyperlane/hyperlane.query.dockerfile delete mode 100644 frameworks/Rust/hyperlane/hyperlane.update.dockerfile diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index e7812f46620..dbf8c4d9dcd 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -49,10 +49,3 @@ strip = "debuginfo" [features] dev = [] -json = [] -plaintext = [] -fortunes = [] -db = [] -query = [] -update = [] -cached_query = [] diff --git a/frameworks/Rust/hyperlane/benchmark_config.json b/frameworks/Rust/hyperlane/benchmark_config.json index 7864eb27b08..5476d84b5dd 100644 --- a/frameworks/Rust/hyperlane/benchmark_config.json +++ b/frameworks/Rust/hyperlane/benchmark_config.json @@ -2,104 +2,14 @@ "framework": "hyperlane", "tests": [ { - "json": { - "dockerfile": "hyperlane.json.dockerfile", + "default": { + "dockerfile": "hyperlane.default.dockerfile", "json_url": "/json", - "port": 8080, - "approach": "Realistic", - "classification": "Platform", - "database": "Postgres", - "framework": "hyperlane", - "language": "Rust", - "orm": "raw", - "platform": "Rust", - "webserver": "hyperlane", - "os": "Linux", - "database_os": "Linux", - "display_name": "hyperlane" - }, - "plaintext": { - "dockerfile": "hyperlane.plaintext.dockerfile", "plaintext_url": "/plaintext", - "port": 8080, - "approach": "Realistic", - "classification": "Platform", - "database": "Postgres", - "framework": "hyperlane", - "language": "Rust", - "orm": "raw", - "platform": "Rust", - "webserver": "hyperlane", - "os": "Linux", - "database_os": "Linux", - "display_name": "hyperlane" - }, - "fortunes": { - "dockerfile": "hyperlane.fortunes.dockerfile", "fortune_url": "/fortunes", - "port": 8080, - "approach": "Realistic", - "classification": "Platform", - "database": "Postgres", - "framework": "hyperlane", - "language": "Rust", - "orm": "raw", - "platform": "Rust", - "webserver": "hyperlane", - "os": "Linux", - "database_os": "Linux", - "display_name": "hyperlane" - }, - "db": { - "dockerfile": "hyperlane.db.dockerfile", "db_url": "/db", - "port": 8080, - "approach": "Realistic", - "classification": "Platform", - "database": "Postgres", - "framework": "hyperlane", - "language": "Rust", - "orm": "raw", - "platform": "Rust", - "webserver": "hyperlane", - "os": "Linux", - "database_os": "Linux", - "display_name": "hyperlane" - }, - "query": { - "dockerfile": "hyperlane.query.dockerfile", "query_url": "/query?q=", - "port": 8080, - "approach": "Realistic", - "classification": "Platform", - "database": "Postgres", - "framework": "hyperlane", - "language": "Rust", - "orm": "raw", - "platform": "Rust", - "webserver": "hyperlane", - "os": "Linux", - "database_os": "Linux", - "display_name": "hyperlane" - }, - "update": { - "dockerfile": "hyperlane.update.dockerfile", "update_url": "/upda?q=", - "port": 8080, - "approach": "Realistic", - "classification": "Platform", - "database": "Postgres", - "framework": "hyperlane", - "language": "Rust", - "orm": "raw", - "platform": "Rust", - "webserver": "hyperlane", - "os": "Linux", - "database_os": "Linux", - "display_name": "hyperlane" - }, - "cached_query": { - "dockerfile": "hyperlane.cached_query.dockerfile", "cached_query_url": "/cached-quer?c=", "port": 8080, "approach": "Realistic", diff --git a/frameworks/Rust/hyperlane/hyperlane.cached_query.dockerfile b/frameworks/Rust/hyperlane/hyperlane.cached_query.dockerfile deleted file mode 100644 index d90fbed9fc8..00000000000 --- a/frameworks/Rust/hyperlane/hyperlane.cached_query.dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM rust:1.85 - -RUN apt-get update -yqq && apt-get install -yqq cmake g++ binutils lld - -ENV POSTGRES_URL=postgres://benchmarkdbuser:benchmarkdbpass@tfb-database:5432/hello_world - -ADD ./ /hyperlane_techempower -WORKDIR /hyperlane_techempower - -RUN cargo clean -RUN RUSTFLAGS="-C target-cpu=native -C link-arg=-fuse-ld=lld" cargo build --release --features cached_query - -EXPOSE 8080 - -CMD ./target/release/hyperlane_techempower diff --git a/frameworks/Rust/hyperlane/hyperlane.db.dockerfile b/frameworks/Rust/hyperlane/hyperlane.default.dockerfile similarity index 91% rename from frameworks/Rust/hyperlane/hyperlane.db.dockerfile rename to frameworks/Rust/hyperlane/hyperlane.default.dockerfile index 632f725fc54..d9bd815fd04 100644 --- a/frameworks/Rust/hyperlane/hyperlane.db.dockerfile +++ b/frameworks/Rust/hyperlane/hyperlane.default.dockerfile @@ -8,7 +8,7 @@ ADD ./ /hyperlane_techempower WORKDIR /hyperlane_techempower RUN cargo clean -RUN RUSTFLAGS="-C target-cpu=native -C link-arg=-fuse-ld=lld" cargo build --release --features db +RUN RUSTFLAGS="-C target-cpu=native -C link-arg=-fuse-ld=lld" cargo build --release EXPOSE 8080 diff --git a/frameworks/Rust/hyperlane/hyperlane.fortunes.dockerfile b/frameworks/Rust/hyperlane/hyperlane.fortunes.dockerfile deleted file mode 100644 index 6c17364aab5..00000000000 --- a/frameworks/Rust/hyperlane/hyperlane.fortunes.dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM rust:1.85 - -RUN apt-get update -yqq && apt-get install -yqq cmake g++ binutils lld - -ENV POSTGRES_URL=postgres://benchmarkdbuser:benchmarkdbpass@tfb-database:5432/hello_world - -ADD ./ /hyperlane_techempower -WORKDIR /hyperlane_techempower - -RUN cargo clean -RUN RUSTFLAGS="-C target-cpu=native -C link-arg=-fuse-ld=lld" cargo build --release --features fortunes - -EXPOSE 8080 - -CMD ./target/release/hyperlane_techempower diff --git a/frameworks/Rust/hyperlane/hyperlane.json.dockerfile b/frameworks/Rust/hyperlane/hyperlane.json.dockerfile deleted file mode 100644 index 225112b5b38..00000000000 --- a/frameworks/Rust/hyperlane/hyperlane.json.dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM rust:1.85 - -RUN apt-get update -yqq && apt-get install -yqq cmake g++ binutils lld - -ENV POSTGRES_URL=postgres://benchmarkdbuser:benchmarkdbpass@tfb-database:5432/hello_world - -ADD ./ /hyperlane_techempower -WORKDIR /hyperlane_techempower - -RUN cargo clean -RUN RUSTFLAGS="-C target-cpu=native -C link-arg=-fuse-ld=lld" cargo build --release --features json - -EXPOSE 8080 - -CMD ./target/release/hyperlane_techempower diff --git a/frameworks/Rust/hyperlane/hyperlane.plaintext.dockerfile b/frameworks/Rust/hyperlane/hyperlane.plaintext.dockerfile deleted file mode 100644 index f2620d45892..00000000000 --- a/frameworks/Rust/hyperlane/hyperlane.plaintext.dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM rust:1.85 - -RUN apt-get update -yqq && apt-get install -yqq cmake g++ binutils lld - -ENV POSTGRES_URL=postgres://benchmarkdbuser:benchmarkdbpass@tfb-database:5432/hello_world - -ADD ./ /hyperlane_techempower -WORKDIR /hyperlane_techempower - -RUN cargo clean -RUN RUSTFLAGS="-C target-cpu=native -C link-arg=-fuse-ld=lld" cargo build --release --features plaintext - -EXPOSE 8080 - -CMD ./target/release/hyperlane_techempower diff --git a/frameworks/Rust/hyperlane/hyperlane.query.dockerfile b/frameworks/Rust/hyperlane/hyperlane.query.dockerfile deleted file mode 100644 index 04463e5b6dd..00000000000 --- a/frameworks/Rust/hyperlane/hyperlane.query.dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM rust:1.85 - -RUN apt-get update -yqq && apt-get install -yqq cmake g++ binutils lld - -ENV POSTGRES_URL=postgres://benchmarkdbuser:benchmarkdbpass@tfb-database:5432/hello_world - -ADD ./ /hyperlane_techempower -WORKDIR /hyperlane_techempower - -RUN cargo clean -RUN RUSTFLAGS="-C target-cpu=native -C link-arg=-fuse-ld=lld" cargo build --release --features query - -EXPOSE 8080 - -CMD ./target/release/hyperlane_techempower diff --git a/frameworks/Rust/hyperlane/hyperlane.update.dockerfile b/frameworks/Rust/hyperlane/hyperlane.update.dockerfile deleted file mode 100644 index c265407a1ff..00000000000 --- a/frameworks/Rust/hyperlane/hyperlane.update.dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM rust:1.85 - -RUN apt-get update -yqq && apt-get install -yqq cmake g++ binutils lld - -ENV POSTGRES_URL=postgres://benchmarkdbuser:benchmarkdbpass@tfb-database:5432/hello_world - -ADD ./ /hyperlane_techempower -WORKDIR /hyperlane_techempower - -RUN cargo clean -RUN RUSTFLAGS="-C target-cpu=native -C link-arg=-fuse-ld=lld" cargo build --release --features update - -EXPOSE 8080 - -CMD ./target/release/hyperlane_techempower diff --git a/frameworks/Rust/hyperlane/src/request_middleware.rs b/frameworks/Rust/hyperlane/src/request_middleware.rs index 6f6467cb8c9..9c075a62ce8 100644 --- a/frameworks/Rust/hyperlane/src/request_middleware.rs +++ b/frameworks/Rust/hyperlane/src/request_middleware.rs @@ -8,28 +8,7 @@ pub async fn request(ctx: Context) { .replace_response_header(DATE, gmt()) .await .set_response_status_code(200) + .await + .replace_response_header(CONTENT_TYPE, APPLICATION_JSON) .await; - #[cfg(feature = "plaintext")] - { - ctx.replace_response_header(CONTENT_TYPE, TEXT_PLAIN).await; - } - #[cfg(feature = "fortunes")] - { - ctx.replace_response_header( - CONTENT_TYPE, - ContentType::format_content_type_with_charset(TEXT_HTML, UTF8), - ) - .await; - } - #[cfg(any( - feature = "json", - feature = "db", - feature = "query", - feature = "update", - feature = "cached_query" - ))] - { - ctx.replace_response_header(CONTENT_TYPE, APPLICATION_JSON) - .await; - } } diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 91b960a5178..56fd3972cce 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -17,6 +17,7 @@ pub async fn json(ctx: Context) { } pub async fn plaintext(ctx: Context) { + ctx.replace_response_header(CONTENT_TYPE, TEXT_PLAIN).await; ctx.set_response_body(RESPONSEDATA_BIN).await; let run = || async { let _ = ctx.send().await; @@ -70,6 +71,11 @@ pub async fn query(ctx: Context) { } pub async fn fortunes(ctx: Context) { + ctx.replace_response_header( + CONTENT_TYPE, + ContentType::format_content_type_with_charset(TEXT_HTML, UTF8), + ) + .await; let run = || async { let all_rows: Vec = all_world_row().await; let mut fortunes_list: Vec = all_rows diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 383b697a77e..39d9225c359 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -21,53 +21,54 @@ async fn init_server() { server.ws_buffer(256).await; server.panic_hook(async |_: Context| {}).await; server.request_middleware(request_middleware::request).await; - #[cfg(any(feature = "dev", feature = "plaintext"))] - { - server.disable_http_hook("/plaintext").await; - server.route("/plaintext", route::plaintext).await; - } - #[cfg(any(feature = "dev", feature = "json"))] - { - server.disable_http_hook("/json").await; - server.route("/json", route::json).await; - } - #[cfg(any(feature = "dev", feature = "cached_query"))] - { - server.disable_http_hook("/cached-quer").await; - server.route("/cached-quer", route::cached_query).await; - } - #[cfg(any(feature = "dev", feature = "db"))] - { - server.disable_http_hook("/db").await; - server.route("/db", route::db).await; - } - #[cfg(any(feature = "dev", feature = "query"))] - { - server.disable_http_hook("/query").await; - server.route("/query", route::query).await; - } - #[cfg(any(feature = "dev", feature = "fortunes"))] - { - server.disable_http_hook("/fortunes").await; - server.route("/fortunes", route::fortunes).await; - } - #[cfg(any(feature = "dev", feature = "update"))] - { - server.disable_http_hook("/upda").await; - server.route("/upda", route::update).await; - } + + server + .disable_http_hook("/plaintext") + .await + .route("/plaintext", route::plaintext) + .await; + + server + .disable_http_hook("/json") + .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; + server.run().await.unwrap(); } async fn init() { - #[cfg(any( - feature = "dev", - feature = "db", - feature = "query", - feature = "update", - feature = "fortunes", - feature = "cached_query", - ))] + #[cfg(any(feature = "dev"))] init_db().await; init_server().await; } From 469a354ffb580c0035ca8faa57581447ab454c92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 2 Aug 2025 20:52:42 +0800 Subject: [PATCH 242/260] feat: hyperlane http version --- frameworks/Rust/hyperlane/src/request_middleware.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/request_middleware.rs b/frameworks/Rust/hyperlane/src/request_middleware.rs index 9c075a62ce8..7f7105e9363 100644 --- a/frameworks/Rust/hyperlane/src/request_middleware.rs +++ b/frameworks/Rust/hyperlane/src/request_middleware.rs @@ -1,7 +1,9 @@ use super::*; pub async fn request(ctx: Context) { - ctx.replace_response_header(CONNECTION, KEEP_ALIVE) + ctx.set_response_version(HttpVersion::HTTP1_1) + .await + .replace_response_header(CONNECTION, KEEP_ALIVE) .await .replace_response_header(SERVER, HYPERLANE) .await From 127fe15d53454fa20c3e45ec3c420596f9c47ccf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 2 Aug 2025 21:04:21 +0800 Subject: [PATCH 243/260] feat: hyperlane http version --- frameworks/Rust/hyperlane/src/server.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 39d9225c359..9d76cdcc9b9 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -20,6 +20,7 @@ async fn init_server() { server.http_buffer(256).await; server.ws_buffer(256).await; server.panic_hook(async |_: Context| {}).await; + server.request_middleware(request_middleware::request).await; server From 239c15c7b7a2f3ab74f164555cceb72c664e586d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sat, 2 Aug 2025 22:41:53 +0800 Subject: [PATCH 244/260] feat: toml --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 0255a28e0d0..a1b45044149 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -573,9 +573,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "5.66.11" +version = "5.66.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "774f11795bd656637e5b93116f449bf20be8e04ced64d518deeb9bfd009c55cd" +checksum = "d1ebdb29fab9cf87fa8fb3bb981e04e5b5b58fda4563ae16faa6414f67bcfbb2" dependencies = [ "http-type", "lombok-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index dbf8c4d9dcd..9d8a7616df4 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -20,7 +20,7 @@ exclude = [ [dependencies] futures = "0.3.31" -hyperlane = "5.66.11" +hyperlane = "5.66.12" hyperlane-time = "0.7.7" num_cpus = "1.17.0" once_cell = "1.21.3" From 474eefcbf2862d4d5e67d447a7f671d6953b7081 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 5 Aug 2025 22:11:06 +0800 Subject: [PATCH 245/260] feat: toml --- frameworks/Rust/hyperlane/Cargo.toml | 4 ++-- frameworks/Rust/hyperlane/README.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 9d8a7616df4..c8a4438d767 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -5,7 +5,7 @@ readme = "README.md" edition = "2024" authors = ["root@ltpp.vip"] license = "MIT" -description = """A lightweight rust http server with middleware, websocket, sse, and tcp support, built on tokio for cross-platform async networking, hyperlane simplifies modern web service development.""" +description = """A lightweight, high-performance, and cross-platform rust http server library built on tokio, it simplifies modern web service development by providing built-in support for middleware, websocket, server-sent events (sse), and raw tcp communication, while offering a unified and ergonomic api across windows, linux, and macos, enabling developers to build robust, scalable, and event-driven network applications with minimal overhead and maximum flexibility.""" keywords = ["http", "request", "response", "tcp", "redirect"] repository = "https://github.com/hyperlane-dev/hyperlane.git" categories = ["network-programming", "web-programming"] @@ -20,7 +20,7 @@ exclude = [ [dependencies] futures = "0.3.31" -hyperlane = "5.66.12" +hyperlane = "5.66.17" hyperlane-time = "0.7.7" num_cpus = "1.17.0" once_cell = "1.21.3" diff --git a/frameworks/Rust/hyperlane/README.md b/frameworks/Rust/hyperlane/README.md index a2464476a91..c6aea459b5d 100644 --- a/frameworks/Rust/hyperlane/README.md +++ b/frameworks/Rust/hyperlane/README.md @@ -2,7 +2,7 @@ ## Description -> A lightweight rust http server with middleware, websocket, sse, and tcp support, built on tokio for cross-platform async networking, hyperlane simplifies modern web service development. +> A lightweight, high-performance, and cross-platform rust http server library built on tokio, it simplifies modern web service development by providing built-in support for middleware, websocket, server-sent events (sse), and raw tcp communication, while offering a unified and ergonomic api across windows, linux, and macos, enabling developers to build robust, scalable, and event-driven network applications with minimal overhead and maximum flexibility. ## Database From 6ac3a062d8c612c28a60c6c57ac61ddcf2cb4d2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 5 Aug 2025 22:11:27 +0800 Subject: [PATCH 246/260] feat: toml --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index a1b45044149..df96aba3186 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -573,9 +573,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "5.66.12" +version = "5.66.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1ebdb29fab9cf87fa8fb3bb981e04e5b5b58fda4563ae16faa6414f67bcfbb2" +checksum = "f6361a0142f2c9d074237f5a46261f4e29a6f6488c61df681ea3f5eceebca238" dependencies = [ "http-type", "lombok-macros", From ef0a18330fb8a834965e61b0acc1c77f174d1768 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Tue, 5 Aug 2025 22:26:13 +0800 Subject: [PATCH 247/260] feat: toml --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index df96aba3186..6d85b5a18e3 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -573,9 +573,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "5.66.17" +version = "5.67.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6361a0142f2c9d074237f5a46261f4e29a6f6488c61df681ea3f5eceebca238" +checksum = "a66a5aeba24af9421db93d5181f0b5da5a9ec06b0272c68bb4a816f46eb72bf9" dependencies = [ "http-type", "lombok-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index c8a4438d767..d046d7694db 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -20,7 +20,7 @@ exclude = [ [dependencies] futures = "0.3.31" -hyperlane = "5.66.17" +hyperlane = "5.67.0" hyperlane-time = "0.7.7" num_cpus = "1.17.0" once_cell = "1.21.3" From 9d1789ff2db0ff43e46d19377d1d247dcaebb733 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Wed, 6 Aug 2025 19:58:23 +0800 Subject: [PATCH 248/260] feat: v0.1.0 --- frameworks/Rust/hyperlane/Cargo.lock | 16 ++++++++-------- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 6d85b5a18e3..1956120d303 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -538,9 +538,9 @@ dependencies = [ [[package]] name = "http-compress" -version = "2.16.4" +version = "2.16.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f05a0df775c3bc6781f6cac42e775f2f26c07110f123b7084fb0cee010f9b93" +checksum = "757db00ff4cb103647c32497514aceeb685bc2686d84c8707124f1c8eeaac2e3" dependencies = [ "brotli", "flate2", @@ -555,9 +555,9 @@ checksum = "8d68fc1cd9b672083471b783a0f17f4df5eb470f79a2685b6f55e631618bcd2b" [[package]] name = "http-type" -version = "4.55.5" +version = "4.55.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2bddb967a8397bc3fab786c9acd7bc0b74855a53b017310839c0ed786bb2a01" +checksum = "06966dd52009ec38901b439b9060dd9ed0ead6d1204f214fa9a933ae3cb85328" dependencies = [ "hex", "http-compress", @@ -573,9 +573,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "5.67.0" +version = "5.67.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a66a5aeba24af9421db93d5181f0b5da5a9ec06b0272c68bb4a816f46eb72bf9" +checksum = "b78d7e9b6239df3722c71dbcc4d07b0ed318fb6634d9c8e57bac9c5411574f04" dependencies = [ "http-type", "lombok-macros", @@ -793,9 +793,9 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "lombok-macros" -version = "1.13.10" +version = "1.13.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957cebc76c95471ab0ea52c2c2b0c15cdccefd1a7de24e753357b3322fafd420" +checksum = "7647fa75302b5ffffa7ff8bdb78220beb7da2be7eaf3a939453012f25931d749" dependencies = [ "proc-macro2", "quote", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index d046d7694db..ed81372e05c 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -20,7 +20,7 @@ exclude = [ [dependencies] futures = "0.3.31" -hyperlane = "5.67.0" +hyperlane = "5.67.1" hyperlane-time = "0.7.7" num_cpus = "1.17.0" once_cell = "1.21.3" From 0392d718cf5bb3a1cf82471ac433c9cf347d6e26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Wed, 6 Aug 2025 20:04:58 +0800 Subject: [PATCH 249/260] feat: toml --- frameworks/Rust/hyperlane/Cargo.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 1956120d303..567a21abfde 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -287,9 +287,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "5.4.0" +version = "5.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" +checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" dependencies = [ "concurrent-queue", "parking", @@ -1250,9 +1250,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.5" +version = "1.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" dependencies = [ "libc", ] @@ -2029,9 +2029,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.2" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" dependencies = [ "yoke", "zerofrom", From 01d85d0e464902aafe26e8348a124abd8ad0d0ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Thu, 7 Aug 2025 22:49:11 +0800 Subject: [PATCH 250/260] feat: v6 --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 4 ++-- frameworks/Rust/hyperlane/README.md | 2 +- frameworks/Rust/hyperlane/src/server.rs | 3 +-- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 567a21abfde..99a4c74955d 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -573,9 +573,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "5.67.1" +version = "6.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b78d7e9b6239df3722c71dbcc4d07b0ed318fb6634d9c8e57bac9c5411574f04" +checksum = "524ac088e33e44460c2311c547c8f4bf2c14b95f43bf0e8699fb50676e3005c9" dependencies = [ "http-type", "lombok-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index ed81372e05c..724fc19e4de 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -5,7 +5,7 @@ readme = "README.md" edition = "2024" authors = ["root@ltpp.vip"] license = "MIT" -description = """A lightweight, high-performance, and cross-platform rust http server library built on tokio, it simplifies modern web service development by providing built-in support for middleware, websocket, server-sent events (sse), and raw tcp communication, while offering a unified and ergonomic api across windows, linux, and macos, enabling developers to build robust, scalable, and event-driven network applications with minimal overhead and maximum flexibility.""" +description = """A lightweight, high-performance, and cross-platform Rust HTTP server library built on Tokio. It simplifies modern web service development by providing built-in support for middleware, WebSocket, Server-Sent Events (SSE), and raw TCP communication. With a unified and ergonomic API across Windows, Linux, and MacOS, it enables developers to build robust, scalable, and event-driven network applications with minimal overhead and maximum flexibility.""" keywords = ["http", "request", "response", "tcp", "redirect"] repository = "https://github.com/hyperlane-dev/hyperlane.git" categories = ["network-programming", "web-programming"] @@ -20,7 +20,7 @@ exclude = [ [dependencies] futures = "0.3.31" -hyperlane = "5.67.1" +hyperlane = "6.0.4" hyperlane-time = "0.7.7" num_cpus = "1.17.0" once_cell = "1.21.3" diff --git a/frameworks/Rust/hyperlane/README.md b/frameworks/Rust/hyperlane/README.md index c6aea459b5d..8afc763acc2 100644 --- a/frameworks/Rust/hyperlane/README.md +++ b/frameworks/Rust/hyperlane/README.md @@ -2,7 +2,7 @@ ## Description -> A lightweight, high-performance, and cross-platform rust http server library built on tokio, it simplifies modern web service development by providing built-in support for middleware, websocket, server-sent events (sse), and raw tcp communication, while offering a unified and ergonomic api across windows, linux, and macos, enabling developers to build robust, scalable, and event-driven network applications with minimal overhead and maximum flexibility. +> A lightweight, high-performance, and cross-platform Rust HTTP server library built on Tokio. It simplifies modern web service development by providing built-in support for middleware, WebSocket, Server-Sent Events (SSE), and raw TCP communication. With a unified and ergonomic API across Windows, Linux, and MacOS, it enables developers to build robust, scalable, and event-driven network applications with minimal overhead and maximum flexibility. ## Database diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 9d76cdcc9b9..463656b381d 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -19,7 +19,6 @@ async fn init_server() { server.disable_nodelay().await; server.http_buffer(256).await; server.ws_buffer(256).await; - server.panic_hook(async |_: Context| {}).await; server.request_middleware(request_middleware::request).await; @@ -65,7 +64,7 @@ async fn init_server() { .route("/upda", route::update) .await; - server.run().await.unwrap(); + server.run().await.unwrap().get_wait_hook()().await; } async fn init() { From b595604aecda5bc15ab85279df51e1eae80649b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Thu, 7 Aug 2025 23:51:53 +0800 Subject: [PATCH 251/260] feat: v6 --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- frameworks/Rust/hyperlane/src/server.rs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 99a4c74955d..30d4c7ddbce 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -573,9 +573,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "6.0.4" +version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524ac088e33e44460c2311c547c8f4bf2c14b95f43bf0e8699fb50676e3005c9" +checksum = "bdf05de9c41b8bc23575e559306b0ad78aed7e18f7efdc8e906b071fab45c4c7" dependencies = [ "http-type", "lombok-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 724fc19e4de..a63b61097c6 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -20,7 +20,7 @@ exclude = [ [dependencies] futures = "0.3.31" -hyperlane = "6.0.4" +hyperlane = "6.1.0" hyperlane-time = "0.7.7" num_cpus = "1.17.0" once_cell = "1.21.3" diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index 463656b381d..ded32d20354 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -64,7 +64,7 @@ async fn init_server() { .route("/upda", route::update) .await; - server.run().await.unwrap().get_wait_hook()().await; + server.run().await.unwrap().wait().await; } async fn init() { From 22c0fc7edee542ed17b444c4b948d49c7f1e3872 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 10 Aug 2025 16:14:53 +0800 Subject: [PATCH 252/260] feat: v6 --- frameworks/Rust/hyperlane/Cargo.lock | 5 +++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 30d4c7ddbce..08259c37ad8 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -573,14 +573,15 @@ dependencies = [ [[package]] name = "hyperlane" -version = "6.1.0" +version = "6.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdf05de9c41b8bc23575e559306b0ad78aed7e18f7efdc8e906b071fab45c4c7" +checksum = "77b135d5b67dfa413f6e7872820d35b3f173a63e97ba58d8949432038d0b5b27" dependencies = [ "http-type", "lombok-macros", "regex", "serde", + "serde_json", ] [[package]] diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index a63b61097c6..60678d1bf71 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -20,7 +20,7 @@ exclude = [ [dependencies] futures = "0.3.31" -hyperlane = "6.1.0" +hyperlane = "6.2.0" hyperlane-time = "0.7.7" num_cpus = "1.17.0" once_cell = "1.21.3" From 09a0e50f6eabee2bc20c5e0cd679cec7f5a762ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 10 Aug 2025 16:55:44 +0800 Subject: [PATCH 253/260] feat: v6 --- frameworks/Rust/hyperlane/src/server.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/server.rs b/frameworks/Rust/hyperlane/src/server.rs index ded32d20354..49781cf544b 100644 --- a/frameworks/Rust/hyperlane/src/server.rs +++ b/frameworks/Rust/hyperlane/src/server.rs @@ -68,7 +68,6 @@ async fn init_server() { } async fn init() { - #[cfg(any(feature = "dev"))] init_db().await; init_server().await; } From f8abd6a8b8411318eb4de9032a21f5a2212a56be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 10 Aug 2025 17:14:25 +0800 Subject: [PATCH 254/260] feat: v6 --- frameworks/Rust/hyperlane/src/db.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index eb7c57b779e..4a77277874c 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -153,7 +153,7 @@ pub async fn init_db() { create_table().await; insert_records().await; } - black_box(init_cache().await); + let _ = CACHE.get(0); } pub async fn random_world_row(db_pool: &DbPoolConnection) -> QueryRow { From 51c4f817e75d5b0358f0738c0caf5961079d14d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 10 Aug 2025 17:22:15 +0800 Subject: [PATCH 255/260] debug: test cache --- frameworks/Rust/hyperlane/src/route.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 56fd3972cce..fe3b9f80256 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -125,7 +125,11 @@ pub async fn update(ctx: Context) { } pub async fn cached_query(ctx: Context) { + eprintln!("cached_query"); + let _ = std::io::Write::flush(&mut std::io::stderr()); let run = || async { + eprintln!("cached_query run"); + let _ = std::io::Write::flush(&mut std::io::stderr()); let count: Queries = ctx .get_request_query("c") .await From 68abae213083cf6e7dc5146c5667e03c95cc18e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 10 Aug 2025 17:30:42 +0800 Subject: [PATCH 256/260] debug: test cache --- frameworks/Rust/hyperlane/src/db.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/frameworks/Rust/hyperlane/src/db.rs b/frameworks/Rust/hyperlane/src/db.rs index 4a77277874c..136b451438c 100644 --- a/frameworks/Rust/hyperlane/src/db.rs +++ b/frameworks/Rust/hyperlane/src/db.rs @@ -153,6 +153,7 @@ pub async fn init_db() { create_table().await; insert_records().await; } + let _ = get_db_connection(); let _ = CACHE.get(0); } From abd4ae5b9149410cb6b7f1988848fbb7fb729a8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 10 Aug 2025 17:36:42 +0800 Subject: [PATCH 257/260] feat: v6 --- frameworks/Rust/hyperlane/src/route.rs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index fe3b9f80256..56fd3972cce 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -125,11 +125,7 @@ pub async fn update(ctx: Context) { } pub async fn cached_query(ctx: Context) { - eprintln!("cached_query"); - let _ = std::io::Write::flush(&mut std::io::stderr()); let run = || async { - eprintln!("cached_query run"); - let _ = std::io::Write::flush(&mut std::io::stderr()); let count: Queries = ctx .get_request_query("c") .await From 50bf9ffeff2b33267266e2938bed3324bf4d062f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 10 Aug 2025 17:39:23 +0800 Subject: [PATCH 258/260] feat: send unwrap --- frameworks/Rust/hyperlane/src/route.rs | 30 +++++++++++++------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/frameworks/Rust/hyperlane/src/route.rs b/frameworks/Rust/hyperlane/src/route.rs index 56fd3972cce..75683e1c313 100644 --- a/frameworks/Rust/hyperlane/src/route.rs +++ b/frameworks/Rust/hyperlane/src/route.rs @@ -7,7 +7,7 @@ pub async fn json(ctx: Context) { let run = || async { ctx.set_response_body(serde_json::to_string(&json).unwrap_or_default()) .await; - let _ = ctx.send().await; + ctx.send().await.unwrap(); }; run().await; while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { @@ -20,7 +20,7 @@ pub async fn plaintext(ctx: Context) { ctx.replace_response_header(CONTENT_TYPE, TEXT_PLAIN).await; ctx.set_response_body(RESPONSEDATA_BIN).await; let run = || async { - let _ = ctx.send().await; + ctx.send().await.unwrap(); }; run().await; while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { @@ -33,11 +33,11 @@ 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; - let _ = ctx - .set_response_body(serde_json::to_string(&query_row).unwrap_or_default()) + ctx.set_response_body(serde_json::to_string(&query_row).unwrap_or_default()) .await .send() - .await; + .await + .unwrap(); }; run().await; while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { @@ -57,11 +57,11 @@ pub async fn query(ctx: Context) { .max(1); let db_pool: &DbPoolConnection = get_db_connection(); let data: Vec = get_some_row_id(queries, db_pool).await; - let _ = ctx - .set_response_body(serde_json::to_string(&data).unwrap_or_default()) + ctx.set_response_body(serde_json::to_string(&data).unwrap_or_default()) .await .send() - .await; + .await + .unwrap(); }; run().await; while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { @@ -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(); - let _ = ctx.set_response_body(res).await.send().await; + ctx.set_response_body(res).await.send().await.unwrap(); }; run().await; while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { @@ -111,11 +111,11 @@ pub async fn update(ctx: Context) { .min(ROW_LIMIT as Queries) .max(1); let res: Vec = update_world_rows(queries).await; - let _ = ctx - .set_response_body(serde_json::to_string(&res).unwrap_or_default()) + ctx.set_response_body(serde_json::to_string(&res).unwrap_or_default()) .await .send() - .await; + .await + .unwrap(); }; run().await; while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { @@ -134,11 +134,11 @@ pub async fn cached_query(ctx: Context) { .min(ROW_LIMIT as Queries) .max(1); let res: Vec = CACHE.iter().take(count as usize).cloned().collect(); - let _ = ctx - .set_response_body(serde_json::to_string(&res).unwrap_or_default()) + ctx.set_response_body(serde_json::to_string(&res).unwrap_or_default()) .await .send() - .await; + .await + .unwrap(); }; run().await; while let Ok(_) = ctx.http_from_stream(HTTP_BUFFER).await { From 7954fd0590c61cd18e577815112884018d040ae0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 10 Aug 2025 22:28:31 +0800 Subject: [PATCH 259/260] feat: v6 --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 08259c37ad8..7e2a8d88fdd 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -573,9 +573,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "6.2.0" +version = "6.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77b135d5b67dfa413f6e7872820d35b3f173a63e97ba58d8949432038d0b5b27" +checksum = "9095806065de88770056eb4a6c0dbcbec313c9ca36a4b3161765248ce3f3e786" dependencies = [ "http-type", "lombok-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 60678d1bf71..6485867d0ba 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -20,7 +20,7 @@ exclude = [ [dependencies] futures = "0.3.31" -hyperlane = "6.2.0" +hyperlane = "6.4.0" hyperlane-time = "0.7.7" num_cpus = "1.17.0" once_cell = "1.21.3" From 4c2e9133ab0ecaf69db4c2c23e78ca0535925c80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=A4=E9=9B=A8=E4=B8=9C?= Date: Sun, 10 Aug 2025 23:03:22 +0800 Subject: [PATCH 260/260] feat: v6 --- frameworks/Rust/hyperlane/Cargo.lock | 4 ++-- frameworks/Rust/hyperlane/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frameworks/Rust/hyperlane/Cargo.lock b/frameworks/Rust/hyperlane/Cargo.lock index 7e2a8d88fdd..73d56f9e079 100644 --- a/frameworks/Rust/hyperlane/Cargo.lock +++ b/frameworks/Rust/hyperlane/Cargo.lock @@ -573,9 +573,9 @@ dependencies = [ [[package]] name = "hyperlane" -version = "6.4.0" +version = "6.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9095806065de88770056eb4a6c0dbcbec313c9ca36a4b3161765248ce3f3e786" +checksum = "8b7977949b728631efd15f05ac20930c3d4881cab8ec1ad7d723a99431a21443" dependencies = [ "http-type", "lombok-macros", diff --git a/frameworks/Rust/hyperlane/Cargo.toml b/frameworks/Rust/hyperlane/Cargo.toml index 6485867d0ba..afccb3c2ee0 100644 --- a/frameworks/Rust/hyperlane/Cargo.toml +++ b/frameworks/Rust/hyperlane/Cargo.toml @@ -20,7 +20,7 @@ exclude = [ [dependencies] futures = "0.3.31" -hyperlane = "6.4.0" +hyperlane = "6.6.0" hyperlane-time = "0.7.7" num_cpus = "1.17.0" once_cell = "1.21.3"