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);
}
}
}