@ThreadSafe
public interface ControlClientPool
InstructionRequestHandlers.
 Incoming instruction handlers usually come from the control plane gRPC service. Typical use:
   // Within owner of the pool, who may or may not own the control plane server as well
   ControlClientPool pool = ...
   FnApiControlClientPoolService service =
       FnApiControlClientPoolService.offeringClientsToSink(pool.getSink(), headerAccessor)
   // Incoming gRPC control connections will now be added to the client pool.
   // Within code that interacts with the instruction handler. The get call blocks until an
   // incoming client is available:
   ControlClientSource clientSource = ... InstructionRequestHandler
   instructionHandler = clientSource.get("worker-id");
 
 All ControlClientPool implementations must be thread-safe.
| Modifier and Type | Interface and Description | 
|---|---|
| static interface  | ControlClientPool.SinkA sink for  InstructionRequestHandlerskeyed by worker id. | 
| static interface  | ControlClientPool.SourceA source of  InstructionRequestHandlers. | 
| Modifier and Type | Method and Description | 
|---|---|
| ControlClientPool.Sink | getSink()Sink for control clients. | 
| ControlClientPool.Source | getSource()Source of control clients. | 
ControlClientPool.Sink getSink()
ControlClientPool.Source getSource()