public class FnApiControlClientPoolService extends org.apache.beam.model.fnexecution.v1.BeamFnControlGrpc.BeamFnControlImplBase implements FnService
Modifier and Type | Method and Description |
---|---|
void |
close()
.
|
io.grpc.stub.StreamObserver<org.apache.beam.model.fnexecution.v1.BeamFnApi.InstructionResponse> |
control(io.grpc.stub.StreamObserver<org.apache.beam.model.fnexecution.v1.BeamFnApi.InstructionRequest> requestObserver)
Called by gRPC for each incoming connection from an SDK harness, and enqueue an available SDK
harness client.
|
static FnApiControlClientPoolService |
offeringClientsToPool(ControlClientPool.Sink clientPool,
HeaderAccessor headerAccessor)
Creates a new
FnApiControlClientPoolService which will enqueue and vend new SDK harness
connections. |
bindService
public static FnApiControlClientPoolService offeringClientsToPool(ControlClientPool.Sink clientPool, HeaderAccessor headerAccessor)
FnApiControlClientPoolService
which will enqueue and vend new SDK harness
connections.
Clients placed into the clientSink
are owned by whoever consumes them from the other
end of the pool. That consumer is responsible for closing the clients when they are no longer
needed.
public io.grpc.stub.StreamObserver<org.apache.beam.model.fnexecution.v1.BeamFnApi.InstructionResponse> control(io.grpc.stub.StreamObserver<org.apache.beam.model.fnexecution.v1.BeamFnApi.InstructionRequest> requestObserver)
Note: currently does not distinguish what sort of SDK it is, so a separate instance is required for each.
control
in class org.apache.beam.model.fnexecution.v1.BeamFnControlGrpc.BeamFnControlImplBase
public void close()
FnService
There should be no more calls to any service method by the time a call to FnService.close()
begins. Specifically, this means that a Server
that this service is bound to
should have completed a call to the Server.shutdown()
method, and all future
incoming calls will be rejected.