You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by xu...@apache.org on 2023/09/07 16:01:45 UTC
[incubator-opendal] 03/06: Don't change public API
This is an automated email from the ASF dual-hosted git repository.
xuanwo pushed a commit to branch refactor-write
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git
commit 54df6d92cb8e93e77ed46f8ba48266fff28788ff
Author: Xuanwo <gi...@xuanwo.io>
AuthorDate: Thu Sep 7 23:53:37 2023 +0800
Don't change public API
Signed-off-by: Xuanwo <gi...@xuanwo.io>
---
core/src/types/operator/operator.rs | 8 ++++----
core/src/types/writer.rs | 3 ++-
core/tests/behavior/write.rs | 6 +++---
3 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/core/src/types/operator/operator.rs b/core/src/types/operator/operator.rs
index b51c2bc60..1c8c6cd12 100644
--- a/core/src/types/operator/operator.rs
+++ b/core/src/types/operator/operator.rs
@@ -622,8 +622,8 @@ impl Operator {
/// # #[tokio::main]
/// # async fn test(op: Operator) -> Result<()> {
/// let mut w = op.writer("path/to/file").await?;
- /// w.write(vec![0; 4096]).await?;
- /// w.write(vec![1; 4096]).await?;
+ /// w.write(&vec![0; 4096]).await?;
+ /// w.write(&vec![1; 4096]).await?;
/// w.close().await?;
/// # Ok(())
/// # }
@@ -651,8 +651,8 @@ impl Operator {
/// .writer_with("path/to/file")
/// .content_type("application/octet-stream")
/// .await?;
- /// w.write(vec![0; 4096]).await?;
- /// w.write(vec![1; 4096]).await?;
+ /// w.write(&vec![0; 4096]).await?;
+ /// w.write(&vec![1; 4096]).await?;
/// w.close().await?;
/// # Ok(())
/// # }
diff --git a/core/src/types/writer.rs b/core/src/types/writer.rs
index 6714d8017..40d862701 100644
--- a/core/src/types/writer.rs
+++ b/core/src/types/writer.rs
@@ -80,7 +80,7 @@ impl Writer {
}
/// Write into inner writer.
- pub async fn write(&mut self, mut bs: impl Buf) -> Result<()> {
+ pub async fn write(&mut self, bs: impl Into<Bytes>) -> Result<()> {
let w = if let State::Idle(Some(w)) = &mut self.state {
w
} else {
@@ -90,6 +90,7 @@ impl Writer {
);
};
+ let mut bs = bs.into();
while bs.remaining() > 0 {
let n = w.write(&bs).await?;
bs.advance(n);
diff --git a/core/tests/behavior/write.rs b/core/tests/behavior/write.rs
index f37f4a767..10c9e8c1a 100644
--- a/core/tests/behavior/write.rs
+++ b/core/tests/behavior/write.rs
@@ -994,7 +994,7 @@ pub async fn test_writer_abort(op: Operator) -> Result<()> {
}
};
- if let Err(e) = writer.write(content.as_slice()).await {
+ if let Err(e) = writer.write(content).await {
assert_eq!(e.kind(), ErrorKind::Unsupported);
return Ok(());
}
@@ -1120,8 +1120,8 @@ pub async fn test_writer_write(op: Operator) -> Result<()> {
let content_b = gen_fixed_bytes(size);
let mut w = op.writer(&path).await?;
- w.write(content_a.as_slice()).await?;
- w.write(content_b.as_slice()).await?;
+ w.write(content_a.clone()).await?;
+ w.write(content_b.clone()).await?;
w.close().await?;
let meta = op.stat(&path).await.expect("stat must succeed");