private async Task <long> SetBlobSizeAsyncWorker(ulong blobId, long size, CancellationToken ct = default(CancellationToken)) { await TaskUtilities.SwitchToBackgroundThread(); var request = await BlobSizeRequest.GetSizeAsync(this, blobId, ct); return(await request.Task); }
public async Task <long> SetBlobSizeAsync(ulong blobId, long size, CancellationToken cancellationToken = default(CancellationToken)) { if (_runTask == null) { throw new InvalidOperationException("Host was not started"); } using (CancellationTokenUtilities.Link(ref cancellationToken, _cts.Token)) { try { await TaskUtilities.SwitchToBackgroundThread(); var request = await BlobSizeRequest.GetSizeAsync(this, blobId, cancellationToken); return(await request.Task); } catch (OperationCanceledException ex) when(_cts.IsCancellationRequested) { throw new RHostDisconnectedException(Resources.Error_RHostIsStopped, ex); } } }