GitHub user videni added a comment to the discussion: How to use opendal to implement breakpoint resume upload and Incremental upload ?
@Xuanwo , thanks for help. I don't understand why following code works for "client may upload parts not sequentially", because a client I mean a mobile device, for example, he splits a large file to into 100 parts, he may upload the last one part first, then 1st, 2nd ... etc. So on the server side, once the last part uploaded , then we assemble all received parts into one big file. it seems the client needs to know the upload progress of each part, so he can continue next time. ``` mobile device(client) <-> Server side(opendal) <-> OSS ``` ``` let w = op.writer_with(path).concurrent(16).await?; w.write(bs).await?; w.write(bs).await?; // no need to wait here. w.close().awaiit?; // wait until all parts finished. ``` I guess you misunderstood what the client I meant. You are right about objects in s3 or alioss not being mutable. A user on a mobile device modifies the last few bytes of a large file. He asks our server which part needs to be uploaded, the server calculates the checksum of each part and only asks to upload the changed part, in this case, just the last one. s3 similar storages may be not good for storing frequently mutable files, we can ignore this case at the moment. GitHub link: https://github.com/apache/opendal/discussions/5875#discussioncomment-12610535 ---- This is an automatically sent email for dev@opendal.apache.org. To unsubscribe, please send an email to: dev-unsubscr...@opendal.apache.org