Class LanguageServiceGrpc.LanguageServiceStub

  • All Implemented Interfaces:

    
    public final class LanguageServiceGrpc.LanguageServiceStub
    extends AbstractAsyncStub<S>
                        

    A stub to allow clients to do asynchronous rpc calls to service LanguageService.

    LanguageService allows a plugin to add support for a programming language.
    
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
      public final Channel channel
      public final CallOptions callOptions
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      void ping(PingRequest request, StreamObserver<PingResponse> responseObserver)
      Ping service for readiness.
      
      void getDependencies(GetDependenciesRequest request, StreamObserver<GetDependenciesResponse> responseObserver)
      Extract dependencies for a module
      FTL will ensure that these dependencies are built before requesting a build for this module.
      
      void build(BuildRequest request, StreamObserver<BuildResponse> responseObserver)
      Build the module and stream back build events.
      A BuildSuccess or BuildFailure event must be streamed back with the request's context id to indicate the
      end of the build.
      The request can include the option to "rebuild_automatically". In this case the plugin should watch for
      file changes and automatically rebuild as needed as long as this build request is alive. Each automactic
      rebuild must include the latest build context id provided by the request or subsequent BuildContextUpdated
      calls.
      
      void buildContextUpdated(BuildContextUpdatedRequest request, StreamObserver<BuildContextUpdatedResponse> responseObserver)
      While a Build call with "rebuild_automatically" set is active, BuildContextUpdated is called whenever the
      build context is updated.
      Each time this call is made, the Build call must send back a corresponding BuildSuccess or BuildFailure
      event with the updated build context id with "is_automatic_rebuild" as false.
      If the plugin will not be able to return a BuildSuccess or BuildFailure, such as when there is no active
      build stream, it must fail the BuildContextUpdated call.
      
      void generateStubs(GenerateStubsRequest request, StreamObserver<GenerateStubsResponse> responseObserver)
      Generate stubs for a module.
      Stubs allow modules to import other module's exported interface. If a language does not need this step,
      then it is not required to do anything in this call.
      This call is not tied to the module that this plugin is responsible for. A plugin of each language will
      be chosen to generate stubs for each module.
      
      void syncStubReferences(SyncStubReferencesRequest request, StreamObserver<SyncStubReferencesResponse> responseObserver)
      SyncStubReferences is called when module stubs have been updated. This allows the plugin to update
      references to external modules, regardless of whether they are dependencies.
      For example, go plugin adds references to all modules into the go.work file so that tools can automatically
      import the modules when users start reference them.
      It is optional to do anything with this call.
      
      • Methods inherited from class io.grpc.stub.AbstractStub

        getCallOptions, getChannel, withCallCredentials, withChannel, withCompression, withDeadline, withDeadlineAfter, withExecutor, withInterceptors, withMaxInboundMessageSize, withMaxOutboundMessageSize, withOnReadyThreshold, withOption, withWaitForReady
      • Methods inherited from class io.grpc.stub.AbstractAsyncStub

        newStub
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

    • Method Detail

      • build

         void build(BuildRequest request, StreamObserver<BuildResponse> responseObserver)
        Build the module and stream back build events.
        A BuildSuccess or BuildFailure event must be streamed back with the request's context id to indicate the
        end of the build.
        The request can include the option to "rebuild_automatically". In this case the plugin should watch for
        file changes and automatically rebuild as needed as long as this build request is alive. Each automactic
        rebuild must include the latest build context id provided by the request or subsequent BuildContextUpdated
        calls.
        
      • buildContextUpdated

         void buildContextUpdated(BuildContextUpdatedRequest request, StreamObserver<BuildContextUpdatedResponse> responseObserver)
        While a Build call with "rebuild_automatically" set is active, BuildContextUpdated is called whenever the
        build context is updated.
        Each time this call is made, the Build call must send back a corresponding BuildSuccess or BuildFailure
        event with the updated build context id with "is_automatic_rebuild" as false.
        If the plugin will not be able to return a BuildSuccess or BuildFailure, such as when there is no active
        build stream, it must fail the BuildContextUpdated call.
        
      • generateStubs

         void generateStubs(GenerateStubsRequest request, StreamObserver<GenerateStubsResponse> responseObserver)
        Generate stubs for a module.
        Stubs allow modules to import other module's exported interface. If a language does not need this step,
        then it is not required to do anything in this call.
        This call is not tied to the module that this plugin is responsible for. A plugin of each language will
        be chosen to generate stubs for each module.
        
      • syncStubReferences

         void syncStubReferences(SyncStubReferencesRequest request, StreamObserver<SyncStubReferencesResponse> responseObserver)
        SyncStubReferences is called when module stubs have been updated. This allows the plugin to update
        references to external modules, regardless of whether they are dependencies.
        For example, go plugin adds references to all modules into the go.work file so that tools can automatically
        import the modules when users start reference them.
        It is optional to do anything with this call.