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

Reply via email to