From 7b9fb4a12a4546785b1da4729a4901ca18292069 Mon Sep 17 00:00:00 2001 From: Xuanwo Date: Wed, 20 Mar 2024 19:33:56 +0800 Subject: [PATCH] FIx Signed-off-by: Xuanwo --- core/src/docs/rfcs/4382_range_based_read.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/core/src/docs/rfcs/4382_range_based_read.md b/core/src/docs/rfcs/4382_range_based_read.md index e557005b7222..8afeeeadbd8a 100644 --- a/core/src/docs/rfcs/4382_range_based_read.md +++ b/core/src/docs/rfcs/4382_range_based_read.md @@ -30,6 +30,7 @@ However, after observing our users, we found that: - `AsyncSeek` in `Reader` is prone to misuse. - `Reader` does not support concurrent reading. +- `Reader` can't adopt Completion-based IO ## Misuse of `AsyncSeek` @@ -43,6 +44,10 @@ For example, `s3` storage does not support `seek` natively. When users call `see There is no way for opendal to support this feature. +## Can't adopt Completion-based IO + +Completion-based IO requires take the buffer's owner ship. But API that take `&mut [u8]` can't do that. + # Guide-level explanation So I propose to convert `Reader` into a stateless, range-based reading pattern.