Linux 中是否有异步版本的 sendfile?

Is there an asynchronous version of sendfile in Linux?

io_getevents 通知机制乍一看非常强大,所以我想要一些我可以使用它的东西。我只是找不到任何东西。在 Windows 上很简单:只有 TransmitFile 可以异步工作(重叠),如果需要,还可以使用一些通知机制(IOCP、事件)。 Linux 上一定有一些等价物,对吧?或者,在某些情况下提出我的问题,我将如何在 Linux?

上创建一个高效的文件服务器

唉,在 Linux 上没有什么容易的事,几乎任何事情都可能在错误的情况下被阻止 (even io_submit)。回答您的问题(在标题和正文中):

休息时间...

未来(2020+)解决方案

有人建议某些未来的 Linux 内核(晚于 5.5,在撰写本文时已经达到 5.5-rc7)基本上可以执行 asynchronous sendfile via io_uring if io_uring gains support for splice()...