Exemplo n.º 1
0
 private void TryWriteAsync(BlobEntry blobEntry, IntPtr sourceAddress, ulong destinationAddress, uint numBytesToWrite, DeviceIOCompletionCallback callback, object context)
 {
     // If pageBlob is null, it is being created. Attempt to queue the write for the creator to complete after it is done
     if (blobEntry.PageBlob == null &&
         blobEntry.TryQueueAction(p => this.WriteToBlobAsync(p, sourceAddress, destinationAddress, numBytesToWrite, callback, context)))
     {
         return;
     }
     // Otherwise, invoke directly.
     this.WriteToBlobAsync(blobEntry.PageBlob, sourceAddress, destinationAddress, numBytesToWrite, callback, context);
 }
Exemplo n.º 2
0
        private void TryWriteAsync(BlobEntry blobEntry, IntPtr sourceAddress, ulong destinationAddress, uint numBytesToWrite, IOCompletionCallback callback, IAsyncResult asyncResult)
        {
            CloudPageBlob pageBlob = blobEntry.GetPageBlob();

            // If pageBlob is null, it is being created. Attempt to queue the write for the creator to complete after it is done
            if (pageBlob == null &&
                blobEntry.TryQueueAction(p => WriteToBlobAsync(p, sourceAddress, destinationAddress, numBytesToWrite, callback, asyncResult)))
            {
                return;
            }

            // Otherwise, invoke directly.
            WriteToBlobAsync(pageBlob, sourceAddress, destinationAddress, numBytesToWrite, callback, asyncResult);
        }