Folks, I had a dream this morning about an implementation of the abstract
Stream
<https://msdn.microsoft.com/en-us/library/system.io.stream(v=vs.100).aspx>
class that uses the *cloud *as the backing storage. Imagine just being able
to replace FileStream
<https://msdn.microsoft.com/en-us/library/system.io.filestream(v=vs.100).aspx>
in your code with a mythical "CloudStream" and it all works much the same.
Due to implementation differences of the different providers, you would
probably really need an AzureBlobStream, a CloudFilesStream, an
AmazonSimpleStorageStream, etc, because some of the low-level APIs support
seeking and reading chunks at offsets, some don't, and there are many other
subtle differences.

Once I realised the low-level features of these providers are primitive and
difficult to abstract, my dream of quickly knocking-up a "CloudStream"
class faded away. Does anyone know if this issue has been tackled by others
with vaguely useful results?

Yes, I know performance would be a serious issue and you'd need async
support. Maybe memory mapped files
<https://msdn.microsoft.com/en-us/library/system.io.memorymappedfiles(v=vs.110).aspx>
might be useful?!

*Greg K*

Reply via email to