Module opendal::raw::oio

source ·
Expand description

oio provides OpenDAL’s raw traits and types that opendal returns as output.

Those types should only be used internally and we don’t want users to depend on them. So we should also implement trait like AsyncRead for our output traits.

Structs§

  • AppendWriter will implements [Write] based on append object.
  • BlockWriter will implements [Write] based on block uploads.
  • ChunkedWriter is used to implement oio::Write based on chunk: flush the underlying storage at the `chunk`` size.
  • Entry is returned by Page or BlockingPage during list operations.
  • FlatLister will walk dir in bottom up way:
  • FlexBuf is a buffer that support frozen bytes and reuse existing allocated memory.
  • ToHierarchyLister will convert a flat list to hierarchy by filter not needed entries.
  • MultipartWriter will implements [Write] based on multipart uploads.
  • OneShotWrite is used to implement [Write] based on one shot.
  • PageContext is the context passing between PageList.
  • PageLister implements [List] based on PageList.
  • PooledBuf is a buffer pool that designed for reusing already allocated bufs.
  • PrefixLister is used to filter entries by prefix.
  • QueueBuf is a queue of Buffer.
  • RangeWriter will implements [Write] based on range write.

Enums§

Traits§

  • AppendWrite is used to implement [Write] based on append object. By implementing AppendWrite, services don’t need to care about the details of buffering and uploading parts.
  • BlockWrite is used to implement [Write] based on block uploads. By implementing BlockWrite, services don’t need to care about the details of uploading blocks.
  • BlockingList is the blocking version of List.
  • Read is the trait that OpenDAL returns to callers.
  • BlockingWrite is the trait that OpenDAL returns to callers.
  • Page trait is used by raw::Accessor to implement list operation.
  • MultipartWrite is used to implement [Write] based on multipart uploads. By implementing MultipartWrite, services don’t need to care about the details of uploading parts.
  • OneShotWrite is used to implement [Write] based on one shot operation. By implementing OneShotWrite, services don’t need to care about the details.
  • PageList is used to implement [List] based on API supporting pagination. By implementing PageList, services don’t need to care about the details of page list.
  • RangeWrite is used to implement [Write] based on range write.
  • Read is the internal trait used by OpenDAL to read data from storage.
  • ReadDyn is the dyn version of Read make it possible to use as Box<dyn ReadDyn>.
  • Write is the trait that OpenDAL returns to callers.

Type Aliases§