v0.24.0 #1147
Xuanwo
started this conversation in
Announcements
v0.24.0
#1147
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Upgrade to v0.24
In v0.24, we made a big refactor on our internal IO-related traits. In this version, we split our IO traits into
input
andoutput
versions:Take
Reader
as an example:input::Reader
is the user input reader, which only requiresfutures::AsyncRead + Send
.output::Reader
is the reader returned byOpenDAL
, which implementsfutures::AsyncRead
,futures::AsyncSeek
, andfutures::Stream<Item=io::Result<Bytes>>
. Besides,output::Reader
also implementsSend + Sync
, which makes it useful for users.Due to this change, all code that depends on
BytesReader
should be refactored.BytesReader
=>input::Reader
OutputBytesReader
=>output::Reader
Thanks to the change of IO trait split, we make
ObjectReader
implements all needed traits:futures::AsyncRead
futures::AsyncSeek
futures::Stream<Item=io::Result<Bytes>>
Thus, we removed the
seekable_reader
API. They can be replaced byrange_reader
:o.seekable_reader
=>o.range_reader
Most changes only happen inside. Users not using
opendal::raw::*
will not be affected.Sorry for the inconvenience. I think those changes are required and make OpenDAL better! Welcome any comments at Discussion.
What's Changed
New Contributors
Full Changelog: v0.23.0...v0.24.0
This discussion was created from the release v0.24.0.
Beta Was this translation helpful? Give feedback.
All reactions