Skip to main content

Writer

Struct Writer 

Source
pub struct Writer { /* private fields */ }
Available on crate feature blocking only.
Expand description

BlockingWriter is designed to write data into given path in an blocking manner.

Implementations§

Source§

impl Writer

Source

pub fn write(&mut self, bs: impl Into<Buffer>) -> Result<()>

Write Buffer into writer.

This operation will write all data in given buffer into writer.

§Examples
use bytes::Bytes;
use opendal_core::blocking;
use opendal_core::blocking::Operator;
use opendal_core::Result;

fn test(op: blocking::Operator) -> Result<()> {
    let mut w = op.writer("hello.txt")?;
    // Buffer can be created from continues bytes.
    w.write("hello, world")?;
    // Buffer can also be created from non-continues bytes.
    w.write(vec![Bytes::from("hello,"), Bytes::from("world!")])?;

    // Make sure file has been written completely.
    w.close()?;
    Ok(())
}
Source

pub fn close(&mut self) -> Result<Metadata>

Close the writer and make sure all data have been committed.

§Notes

Close should only be called when the writer is not closed or aborted, otherwise an unexpected error could be returned.

Source

pub fn into_std_write(self) -> StdWriter

Convert writer into StdWriter which implements std::io::Write,

Trait Implementations§

Source§

impl Drop for Writer

Make sure the inner writer is dropped in async context.

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> MaybeSend for T
where T: Send,

§

impl<T> MaybeSend for T
where T: Send,