Exemple #1
0
        private async Task <ulong> CreateBlobAsyncWorker(CancellationToken cancellationToken)
        {
            await TaskUtilities.SwitchToBackgroundThread();

            var request = await CreateBlobRequest.CreateAsync(this, cancellationToken);

            return(await request.Task);
        }
Exemple #2
0
        public async Task <ulong> CreateBlobAsync(CancellationToken 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 CreateBlobRequest.CreateAsync(this, cancellationToken);

                    return(await request.Task);
                } catch (OperationCanceledException ex) when(_cts.IsCancellationRequested)
                {
                    throw new RHostDisconnectedException(Resources.Error_RHostIsStopped, ex);
                }
            }
        }