grpc::CompletionQueue, the producer-consumer queue used for all asynchronous communication with the gRPC runtime.
grpc::ClientContext and grpc::ServerContext, where optional configuration for an RPC can be set, such as setting custom metadata to be conveyed to the peer, compression settings, authentication, etc.