This is an automated email from the ASF dual-hosted git repository. xuanwo pushed a commit to branch stream-based-write in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git
commit 930c749a30281c30c9e68aa6ff0ba5e9e684177d Author: Xuanwo <[email protected]> AuthorDate: Wed Aug 30 17:38:21 2023 +0800 Polish API Signed-off-by: Xuanwo <[email protected]> --- core/src/raw/oio/write/append_object_write.rs | 4 ++-- core/src/services/cos/writer.rs | 12 ++++++++---- core/src/services/obs/writer.rs | 12 ++++++++---- core/src/services/oss/writer.rs | 12 ++++++++---- 4 files changed, 26 insertions(+), 14 deletions(-) diff --git a/core/src/raw/oio/write/append_object_write.rs b/core/src/raw/oio/write/append_object_write.rs index f4fffc704..ea111914a 100644 --- a/core/src/raw/oio/write/append_object_write.rs +++ b/core/src/raw/oio/write/append_object_write.rs @@ -38,7 +38,7 @@ pub trait AppendObjectWrite: Send + Sync + Unpin { async fn offset(&self) -> Result<u64>; /// Append the data to the end of this object. - async fn append(&self, offset: u64, size: u64, body: AsyncBody) -> Result<()>; + async fn append(&self, offset: u64, stream: Streamer) -> Result<()>; } /// AppendObjectWriter will implements [`Write`] based on append object. @@ -83,7 +83,7 @@ where let size = s.size(); self.inner - .append(offset, s.size(), AsyncBody::Stream(s)) + .append(offset, s) .await .map(|_| self.offset = Some(offset + size)) } diff --git a/core/src/services/cos/writer.rs b/core/src/services/cos/writer.rs index 29f63f78f..c6b75f27e 100644 --- a/core/src/services/cos/writer.rs +++ b/core/src/services/cos/writer.rs @@ -215,10 +215,14 @@ impl oio::AppendObjectWrite for CosWriter { } } - async fn append(&self, offset: u64, size: u64, body: AsyncBody) -> Result<()> { - let mut req = self - .core - .cos_append_object_request(&self.path, offset, size, &self.op, body)?; + async fn append(&self, offset: u64, stream: Streamer) -> Result<()> { + let mut req = self.core.cos_append_object_request( + &self.path, + offset, + stream.size(), + &self.op, + AsyncBody::Stream(stream), + )?; self.core.sign(&mut req).await?; diff --git a/core/src/services/obs/writer.rs b/core/src/services/obs/writer.rs index 3b0e02e7c..4f3038d83 100644 --- a/core/src/services/obs/writer.rs +++ b/core/src/services/obs/writer.rs @@ -206,10 +206,14 @@ impl oio::AppendObjectWrite for ObsWriter { } } - async fn append(&self, offset: u64, size: u64, body: AsyncBody) -> Result<()> { - let mut req = self - .core - .obs_append_object_request(&self.path, offset, size, &self.op, body)?; + async fn append(&self, offset: u64, stream: Streamer) -> Result<()> { + let mut req = self.core.obs_append_object_request( + &self.path, + offset, + stream.size(), + &self.op, + AsyncBody::Stream(stream), + )?; self.core.sign(&mut req).await?; diff --git a/core/src/services/oss/writer.rs b/core/src/services/oss/writer.rs index 2d965a7cf..3d3cf1e06 100644 --- a/core/src/services/oss/writer.rs +++ b/core/src/services/oss/writer.rs @@ -217,10 +217,14 @@ impl oio::AppendObjectWrite for OssWriter { } } - async fn append(&self, offset: u64, size: u64, body: AsyncBody) -> Result<()> { - let mut req = self - .core - .oss_append_object_request(&self.path, offset, size, &self.op, body)?; + async fn append(&self, offset: u64, stream: Streamer) -> Result<()> { + let mut req = self.core.oss_append_object_request( + &self.path, + offset, + stream.size(), + &self.op, + AsyncBody::Stream(stream), + )?; self.core.sign(&mut req).await?;
