腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
如何
实现
轮询
异步
fn
的
Future
或
Stream
?
、
、
、
、
我有一个结构Test,我想
实现
轮询
function
的
std::
future
::
Future
use std::{ pin::Pin,}; async
fn
function(&mut self) {}
浏览 30
提问于2020-04-19
得票数 5
回答已采纳
1
回答
`FuturesUnordered`不满足`
Stream
`?
、
、
我想
实现
一个基于FuturesUnordered
的
Stream
,它同样应该计算返回类型为Result<SomeEnum>
的
async函数,不过为了简单起见,我们假设它只是一个Result<f64>。当async fns最终返回Futures时,我假设我必须用以下方式来定义我
的
结构: use anyhow::Result; } } 我现在遇
浏览 20
提问于2021-04-27
得票数 1
回答已采纳
1
回答
在需要特质对象
的
上下文中使用借用参数
的
异步
函数
、
最近,我开始使用Rust中
的
异步
流,我一直发现自己处于这样
的
情况:我想在
Stream
的
实现
中使用
异步
函数。
Future
;
fn
bar(self) -> Box<dyn
Future
<Output = String>>;对于String
的
情况,它就像您所期望
的
那样工作我可以理解为什么这是一个问题,并且我理解asy
浏览 1
提问于2020-10-05
得票数 1
回答已采纳
1
回答
性状定义中
的
类型匹配而不是‘`impl’
这些天,我正在处理Rust
的
异步
生态系统,特别是流,我想
实现
一个等价
的
map()方法(来自StreamExt),有些特性在这里并不有趣。我
的
代码看起来是这样
的
(我简化了
fn
_to_
future
函数): }我知道我
的
问题有几
浏览 1
提问于2021-11-01
得票数 2
回答已采纳
2
回答
如何
通过io::写特性通过期货流发送数据?
、
、
函数是“推送”数据,我不能将函数(这是这个问题
的
整个前提)更改为使用
异步
流
或
其他类型
的
轮询
。 目前,我被迫使用&mut Vec (它
实现
了io::Write)来缓冲整个结果,然后发送Vec作为响应体。但是,响应可能很大,所以我宁愿在没有缓冲
的
情况下对其进行流处理。是否有某种适配器可以
实现
io::Write,在响应背压时需要写入阻塞,并且与actix可以用于响应
的
类型(例如futures::
Stream
)兼容?
浏览 0
提问于2019-04-16
得票数 2
回答已采纳
1
回答
如何
在同一个循环中
轮询
异步
流和流项生成
的
期货?
、
、
我尝试使用来自流
的
消息,同时处理来自REST服务调用
的
async响应。我已经用一个模拟流和未来举例说明了该程序
的
结构: use tokio::runtime; use futures::
stream
::{self, StreamExt}; let mut s =
stream
::repeat::<u32>(9);
浏览 10
提问于2021-03-31
得票数 1
1
回答
借来
的
价值活得不够长--争论要求“睡意”是为了“静止”而借来
的
。
、
这个MWE演示了tokio::spawn在for in循环中
的
使用。注释
的
代码sleepy_futures.push(sleepy.sleep_n(2));运行良好,但不运行/
轮询
异步
函数。基本上,我想同时运行一系列
异步
函数。我很乐意更改Sleepy
的
实现
或
使用另一种库/技术。pub struct Sleepy; pub async
fn
sleep_n(self: &S
浏览 4
提问于2020-08-10
得票数 5
回答已采纳
1
回答
如何
等待未来在东京::选择!不动它?
、
我正在试验
如何
使用Rust
的
tokio来停止
异步
TCP连接和数据包读取。我已经编写了一种在CTRL+C上停止循环
或
使用channel和select停止超时事件
的
方法,但是循环中
的
select会发生移动,但它无法编译。_ = &shutdown => return None
Future
Future
不是为&tokio::sync::oneshot::Receiver<()>
实现
的
。是
浏览 8
提问于2022-03-18
得票数 1
1
回答
期望
实现
‘in’特性
的
闭包,但此闭包仅在actix web中
实现
` `FnOnce`‘
、
我正在使用actix,并且试图在闭包中返回一个
异步
函数,但是我得到了以下错误:137 | | ...我尝试过将变量移出移动块,并尝试将它们放置在不同
的
地方,但都没有成功。error[E0525]: expected a closure
浏览 2
提问于2021-11-27
得票数 0
回答已采纳
1
回答
期货功能回归流
我试图编写一个函数,该函数从服务器读取响应,并返回等待时应该返回
实现
tokio AsyncRead特性
的
未来流:我不知道
如何
从futures::
stream
::
Stream
返回
的
迭代器创建一个peers.array_chunks().map(|x: &[u8这个显示这样
的
事情是可
浏览 1
提问于2022-09-04
得票数 1
回答已采纳
1
回答
如何
使用高阶
异步
函数对Vec进行筛选?
、
通过async谓词进行过滤--“容易”
的
方式let arr = vec!在这种情况下,我们
的
电话看起来就像: .await
fn
by_length(min_length: usize) -> impl Fn
浏览 8
提问于2022-02-03
得票数 4
回答已采纳
1
回答
在实践中
实现
Future
时
如何
使用Context和Waker
、
、
我发现很难理解为什么以及何时需要显式地对传递给对象上
的
poll方法
的
Context和/
或
其Waker执行某些操作,我正在为该对象
实现
Future
。use std::{
future
::
Future
, pin::Pin, task::{Context, Poll}, time::Duration};use tokio::sync::mpsc; /&
浏览 25
提问于2021-02-11
得票数 1
回答已采纳
1
回答
在未来
实现
中手动
轮询
流
、
、
、
我正在迁移到futures 0.3和tokio 0.2
的
过程中,有一种反复出现
的
模式我无法重复使用。我不确定这种模式是否过时了,或者我是否对Pin做错了什么。此类结构
的
Future
实现
包括反复
轮询
流,直到它们返回Pending ( 0.1生态系统中
的
NotReady)。然而,在未来0.3中,
Future
::poll和
Stream
::poll_next采用self而不是&mut self,这种模式不再有效: use future
浏览 1
提问于2019-08-17
得票数 3
回答已采纳
1
回答
未来
的
睡眠:调查
、
、
、
、
据我所知,我正试图为来自crossterm机箱
的
输入创建一个未来
的
轮询
,据我所知,它不提供
异步
API。但很明显,程序一直都在使用100%
的
CPU,因为执行者总是试图
轮询
未来,以防出现新
的
情况。因此,我想添加一些相当于睡眠
的
异步
代码,这将在执行程序下次尝试
轮询
未来时延迟,因此我尝试添加以下内容(在返回Poll::Pending之前),这显然不起作用,因为sleep_
future
::poll()找到一种
浏览 7
提问于2022-10-24
得票数 0
回答已采纳
1
回答
如何
编写
异步
函数,在资源准备就绪
或
几秒钟内重试时
轮询
资源并返回?
、
我想编写一个
异步
函数,它反复从web
轮询
一个资源,并在它准备好时返回。我正在使用
实现
它 // do other works
future
::poll_
fn
(|ctx| match poll_web_resource
浏览 0
提问于2019-08-12
得票数 2
回答已采纳
1
回答
在使用超高速时,我
如何
直接控制http主体(大尺寸)?
、
、
目前,我们正在切换
的
API网关引擎,由c到tokio,超级,锈锈。 下面是我所想到
的
流程:当收到一个具有较大正文大小
的
POST请求时,所有http主体在读取到内容长度后都会读取→,然后执行传递给make_service_
fn
的
未来代码(示例中
的
回显操作)。但是,一旦收到请求,就会执行传递给make_ser
浏览 2
提问于2022-05-16
得票数 2
回答已采纳
1
回答
如何
限制async_trait函数
的
返回值来
实现
同步?
、
我使用async_trait机箱来定义一个特征上
的
async方法。我打算将它返回
的
Future
转换为
Stream
,将
Stream
包装在Arc中,并将Arc发送到多个线程。tokio::runtime::Runtime; trait Trait: Send + Sync {} async
fn
use_trait<T: Trait>
浏览 0
提问于2021-01-27
得票数 4
5
回答
按顺序执行一组期货
、
它似乎是按顺序返回结果,但期货是同时执行
的
。let tasks = vec!FutureResult<_, _>, futures::FutureResult<(), _>, [closure@src/main.rs:10:34: 10:42 task:_]>` 我可能走错路了,但我
的
想法已经用完了
浏览 3
提问于2018-01-03
得票数 8
回答已采纳
1
回答
如何
为futures::
Stream
编写len方法?
、
下面是我尝试过
的
代码(使用fold()
实现
流
的
len(),但有一些奇怪
的
类型错误我无法理解(do(row: Row)返回一个Result<(), Error>): let rows_count = rows.for_each(|row| parse_row(&row)) .wait()
浏览 10
提问于2019-01-25
得票数 0
1
回答
从向量和函数中获取未来
、
我对Rust和它
的
异步
/等待模型非常陌生,我正在尝试做一些看起来像专门
的
Haskell traverse函数
的
事情。给定一个Vec<T>和一个函数T ->
Future
<Output = R>,我想得到一个
Future
<Output = Vec<R>>。目前,我有以下几点: pub async
fn
traverse<I, T
浏览 0
提问于2020-05-24
得票数 4
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
【Rust每周一库】smol-异步rumtime
深入理解并发和并行
【翻译】200行代码讲透RUST FUTURES(5)
java 中的 BIO/NIO/AIO 详解
Rust中的Pin详解
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券