cost 78 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-2023 STACKOOM.COM