google-cloud-cpp
google-cloud-cpp copied to clipboard
Consider a constructor consuming `CompletionQueue` for `AsyncClient`
As @dbolduc reminded me, the design docs calls for no automated background threads. I think we should refactor the existing classes to something like:
class CompletionQueueServicePool {
public:
/// Create a thread pool of size @p size to service @p cq.
CompletionQueueServicePool(CompletionQueue cq, std::size_t size);
};
And then the AsyncClient factory becomes:
AsyncClient MakeAsyncClient(CompletionQueue cq, Options options = {});