Class FnApiControlClientPoolService

  • All Implemented Interfaces:
    java.lang.AutoCloseable, org.apache.beam.model.fnexecution.v1.BeamFnControlGrpc.AsyncService, org.apache.beam.sdk.fn.server.FnService, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.BindableService

    public class FnApiControlClientPoolService
    extends org.apache.beam.model.fnexecution.v1.BeamFnControlGrpc.BeamFnControlImplBase
    implements org.apache.beam.sdk.fn.server.FnService
    A Fn API control service which adds incoming SDK harness connections to a sink.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()  
      org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.fnexecution.v1.BeamFnApi.InstructionResponse> control​(org.apache.beam.vendor.grpc.v1p69p0.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.
      void getProcessBundleDescriptor​(org.apache.beam.model.fnexecution.v1.BeamFnApi.GetProcessBundleDescriptorRequest request, org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.fnexecution.v1.BeamFnApi.ProcessBundleDescriptor> responseObserver)  
      static FnApiControlClientPoolService offeringClientsToPool​(ControlClientPool.Sink clientPool, org.apache.beam.sdk.fn.server.HeaderAccessor headerAccessor)
      Creates a new FnApiControlClientPoolService which will enqueue and vend new SDK harness connections.
      • Methods inherited from class org.apache.beam.model.fnexecution.v1.BeamFnControlGrpc.BeamFnControlImplBase

        bindService
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.apache.beam.vendor.grpc.v1p69p0.io.grpc.BindableService

        bindService
    • Method Detail

      • offeringClientsToPool

        public static FnApiControlClientPoolService offeringClientsToPool​(ControlClientPool.Sink clientPool,
                                                                          org.apache.beam.sdk.fn.server.HeaderAccessor headerAccessor)
        Creates a new 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.

      • control

        public org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.fnexecution.v1.BeamFnApi.InstructionResponse> control​(org.apache.beam.vendor.grpc.v1p69p0.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.

        Note: currently does not distinguish what sort of SDK it is, so a separate instance is required for each.

        Specified by:
        control in interface org.apache.beam.model.fnexecution.v1.BeamFnControlGrpc.AsyncService
      • getProcessBundleDescriptor

        public void getProcessBundleDescriptor​(org.apache.beam.model.fnexecution.v1.BeamFnApi.GetProcessBundleDescriptorRequest request,
                                               org.apache.beam.vendor.grpc.v1p69p0.io.grpc.stub.StreamObserver<org.apache.beam.model.fnexecution.v1.BeamFnApi.ProcessBundleDescriptor> responseObserver)
        Specified by:
        getProcessBundleDescriptor in interface org.apache.beam.model.fnexecution.v1.BeamFnControlGrpc.AsyncService
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface org.apache.beam.sdk.fn.server.FnService