Progressive downloads

Oct 18, 2011 at 1:34 PM

I am trying to understand how uploading and downloads large files works.

From looking at the code it appears to me that the actual transfer over the wire is an atomic operation, i.e. not interruptable.  I have been looking at the WebDAV logic but think that all the providers act this way.  Obviously the underlying API to the provider would have to support loading data in chunks for this to not be atomic.

What can be interrupted is the copying of information from one stream to another, i.e. CopyStreamData.  I am thinking that the transfer operation is going to be largely where the time is spent (by orders of magnitude).

I am just looking for confirmation that my understanding is correct (or not).

Thanks for the good work with regards to abstracting out the various cloud providers.

 

Coordinator
Oct 29, 2011 at 10:48 AM
Hi,

your are totally right with one exeception:

The copy callback in streamhelper supports a boolean for cancelation so it's possible to interrupt a transfer in the progress bar callback, e.g. a NT service will be stoped you can stop the transfer nearly immediately.

Sorry for late response - it was Citrix Synergy :-)

Cheers
Dirk

2011/10/18 trailway <notifications@codeplex.com>

From: trailway

I am trying to understand how uploading and downloads large files works.

From looking at the code it appears to me that the actual transfer over the wire is an atomic operation, i.e. not interruptable. I have been looking at the WebDAV logic but think that all the providers act this way. Obviously the underlying API to the provider would have to support loading data in chunks for this to not be atomic.

What can be interrupted is the copying of information from one stream to another, i.e. CopyStreamData. I am thinking that the transfer operation is going to be largely where the time is spent (by orders of magnitude).

I am just looking for confirmation that my understanding is correct (or not).

Thanks for the good work with regards to abstracting out the various cloud providers.

Read the full discussion online.

To add a post to this discussion, reply to this email (sharpbox@discussions.codeplex.com)

To start a new discussion for this project, email sharpbox@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe or change your settings on codePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at codeplex.com