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?;
 

Reply via email to