cost 264 ms
為什么嵌套等待點不會產生 tokio::select

[英]Why doesn't a nested await point yield up to tokio::select

我想我缺少一些非常基本的東西。 我的期望是,當tick.tick()完成並啟動sleep循環時, tokio::time::sleep(...).await應該返回到 select 語句,讓longer_tick有機會完成。 但是一旦較短的滴答完成,它就會陷入睡眠循環,永遠不會退回到 select ...

一旦收到無效的 UTF-8,`TcpStream` 會被禁用嗎?

[英]Will `TcpStream` be disabled once it receives an invalid UTF-8?

我正在嘗試創建一個服務器,它通過 TCP 套接字通信從客戶端接收一個字符串,並將相同的字符串返回到相同的套接字。 我想要以下規格: 與客戶端重復通信(對應下面代碼中的loop塊) 當客戶端收到有效的 UTF-8 字符時,返回相同的字符( loop塊中的Ok分支) 當客戶端沒有收到有效的 UTF-8 ...

如何在單個線程上按順序運行異步任務?

[英]How can I run asynchronous tasks on a single thread in order?

我正在開發一個使用 rust-tokio 進行異步執行的程序。 主 function 會定期調用 function 到 append 到 CSV 文件來記錄一段時間內的操作。 我想讓 CSV 創建 function 異步並將其作為單獨的任務運行,這樣我可以繼續主要的 function 如果 CSV ...

在 Rust+Tokio 中,你應該返回一個 oneshot::Receiver 作為處理回調嗎?

[英]In Rust+Tokio, should you return a oneshot::Receiver as a processing callback?

我正在制作一個 API,用戶可以在其中提交要處理的項目,他們可能想檢查他們的項目是否已成功處理。 我認為這是使用tokio::sync::oneshot頻道的好地方,我會將接收器返回給呼叫者,他們稍后可以等待它以獲得他們正在尋找的結果。let processable_item = ...; let ...

動態調用帶有變量 arguments 的隨機 function

[英]Call a random function with variable arguments dynamically

我有一個帶有變量 arguments 的函數列表,我想在運行時隨機選擇其中一個,並在循環中調用它。 我希望提高我的解決方案的性能。 我有一個 function,它根據一些隨機性計算 arguments,然后(應該)返回一個 function 指針,然后我可以調用它。pub async fn cho ...

在另一個輪詢中輪詢上下文

[英]Polling a context inside another poll

我有一個輪詢 function,它將永遠輪詢並始終掛起。 在輪詢 function poll_event_loop中,我想控制再次輪詢上下文的時間,並根據某些條件在x秒內再次調用 function。 我可以使用另一個調用waker.wake_by_ref function 的線程來做到這一點。但這感 ...

如何找到活動的 tokio 任務的數量?

[英]How to find number of active tokio task?

我想獲得正在運行的 tokio 任務的數量。 在 python 中,我可以使用len(asyncio.all_tasks())返回當前運行循環的未完成任務。 我想知道 tokio 中的任何等價物。 這是一個示例代碼:use std::time::Duration; use tokio; // 1. ...

循環中的 Rust 期貨 select 未按預期工作

[英]Rust futures select in loop is not working as expected

我有一個接收 UDP 消息的循環,為了打破這個循環,我使用了一個通過select! 宏。 我希望在發送關閉事件 (Ctrl+C) 時打破循環。 但在收到第一條 UDP 消息后,它沒有按預期工作,沒有選擇關閉並且沒有中斷循環。 這是代碼,我將添加步驟以查看相同的問題。// [dependencies] ...

火箭整流罩、tokio-scheduler 和 crons 的生命周期問題

[英]Lifetime issues with rocket fairings, tokio-scheduler and crons

我目前正在 Rocket 上構建一個 API 引擎,正如現代應用程序所做的那樣,我想包含一個自動調度程序來在 Rocket API 運行時運行異步任務(又名 crons)。 我決定使用 Rocket fairings 在“升空”事件中啟用圍繞 tokio-schedule 構建的上述調度程序。 事實 ...

Abortable:懸而未決的期貨?

[英]Abortable: Dangling Futures?

我正在使用Abortable crate 來暫停 Future 的執行。 假設我有一個流產的未來,其中異步 function 本身正在等待其他異步函數。 我的問題是,如果我中止根 Future,子 Futures 會同時立即中止,還是會懸空? 我閱讀了Abortable的源代碼,特別是try_po ...

Rust 超出 Axum 多部分長度限制

[英]Rust Axum Multipart Length Limit Exceeded

參考 Axum 文檔: docs.rs 大家好,我正在嘗試使用 HTML5 forms 和 Rust Axum創建一個簡單的文件上傳。 問題是,雖然任何普通文件都可以工作,但我要上傳的較大文件(尤其是視頻文件)太大了。 Axum(后來稱為Tokio )出現恐慌,因為字段大小對於文件上傳來說太大了。 ...

Rust 等待 Tokio 線程完成

[英]Rust waiting for Tokio threads to finish

我正在嘗試創建一個小程序,它會在 MPSC 頻道收到消息時啟動新線程。 我能夠讓程序啟動線程,但無法弄清楚如何讓程序保持打開狀態。 這是應用程序:#[tokio::main] async fn main() { let (sender, mut receiver) = mpsc::chann ...

了解如何使用 rust TOKIO 庫

[英]Understanding how to use rust TOKIO library

我想學習rust Tokio圖書館。 為了方便這一點,我想在 rust 中編寫一個 ASYNC TCP 記錄器。 基本上是一個連接到 TCP 服務器(172.16.10.10 端口 7777)的 TCP 客戶端,並且只將異步接收的消息記錄到日志文件中。 我希望主要的 function 從控制台讀取用 ...

Rust async_trait 返回 `impl Stream`?

[英]Rust async_trait return `impl Stream`?

我想為現有的異步 class 編寫一個模擬,而無需對原始 class 進行太多更改。 為了演示我的問題,我從Guillaume Endignoux Blog 獲取了源代碼。 我想將其更改為async trait : 但后來我收到消息: `impl Trait` only allowed in fu ...

如何同時等待 `JoinHandle` 和更新 `JoinHandle`?

[英]How to await `JoinHandle`s and update `JoinHandle`s at the same time?

是否可以從一組 JoinHandle JoinHandle<()>任務中讀取 stream 的Future並同時用新任務更新該組任務? 我目前有一個運行一些長任務的Service 。 唯一的問題是,我實際上想(如果可能的話)同時添加新任務——通過某種類型的Receiver通道發送的標志 ...

tokio async rust 的 yield 是什么意思?

[英]What is the meaing of yield on tokio async rust?

在閱讀 Tokio rust 文檔時,它談到將控制權交還給線程。 這是否意味着function結束了他的執行並返回了一個值? tokio.rs 的確切引用是: async fn 定義看起來像常規的同步 function,但操作是異步的。 Rust 將編譯時的 async fn 轉換為異步操作 ...

如何指定不明確的關聯類型的超級特征

[英]how to specify ambiguous associated types of supertraits

簡而言之,我面臨以下問題:我願意從tokio_util::codec抽象編解碼器實現。 為此,我定義了一個具有Decoder和Encoder<T>作為超特征的特征。use tokio_util::codec::{Decoder, Encoder}; struct CodecA {} ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM