Asio 异步模型

3 天前
 zsxzy

一份很不错的资料, 描叙 Asio 的异步模型

https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2444r0.pdf

1418 次点击
所在节点    C++
9 条回复
xxwnc
3 天前
good share
Jzdoxc
3 天前
感谢分享
JustdoitSoso
3 天前
最近在用 asio ,感谢分享
adian
3 天前
感谢分享
chesha1
3 天前
还有相关的 TS ,P2300 也挺不错的,值得一看
dkl1999
3 天前
good
fenglala
2 天前
请教一下,第 17 页的样例代码中,proxy 的函数实现中 co_await 两个 transfer 和一个 watchdog ,

co_await (
transfer(client, server, deadline) ||
transfer(server, client, deadline) ||
watchdog(deadline)
);

transfer 接受的 socket 两个都是引用传递,

transfer(tcp::socket& from, tcp::socket& to

如果 watchdog 超时返回了,导致 proxy 函数结束了,这时候 client 和 target 对象都会被析构,此时 transfer 还没返回,在 transfer 里调用 from 和 to 对象会不会有问题?如果没有问题,为啥这样写没有问题,from 和 to 的生命周期我理解已经结束了呀,是在哪里有延续呢? @zsxzy 感谢答复
tyzandhr
2 天前
@fenglala 这里管理 server 和 client 生命周期的应该是外部调用者才对吧。保证在 transfer 结束时外部没有被析构,正常外面一般是套个 while ( 1 )来保证不结束的
fenglala
2 天前
@tyzandhr 看起来你和我的理解是一致的,我也觉得这里示例代码 client 和 target 局部变量引用传递生命周期有问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1095980

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX