Sha256: 08640cc3b62decea94babe6d516300d5a4be2be6e1b849e2abe25b0dfce8cd29

Contents?: true

Size: 819 Bytes

Versions: 21

Compression:

Stored size: 819 Bytes

Contents

# frozen_string_literal: true

module Nonnative
  class GRPCServer < Nonnative::Server
    def initialize(service)
      @server = GRPC::RpcServer.new
      server.handle(svc)

      # Unfortunately gRPC has only one logger so the first server wins.
      GRPC.define_singleton_method(:logger) do
        @logger ||= Logger.new(service.log)
      end

      super service
    end

    protected

    def perform_start
      server.add_http2_port("#{proxy.host}:#{proxy.port}", :this_port_is_insecure)
      server.run
    end

    def perform_stop
      server.stop
    end

    def wait_start
      timeout.perform do
        super until server.running?
      end
    end

    def wait_stop
      timeout.perform do
        super until server.stopped?
      end
    end

    private

    attr_reader :server
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
nonnative-1.75.0 lib/nonnative/grpc_server.rb
nonnative-1.74.1 lib/nonnative/grpc_server.rb
nonnative-1.74.0 lib/nonnative/grpc_server.rb
nonnative-1.73.0 lib/nonnative/grpc_server.rb
nonnative-1.72.0 lib/nonnative/grpc_server.rb
nonnative-1.71.0 lib/nonnative/grpc_server.rb
nonnative-1.70.0 lib/nonnative/grpc_server.rb
nonnative-1.69.0 lib/nonnative/grpc_server.rb
nonnative-1.68.0 lib/nonnative/grpc_server.rb
nonnative-1.67.0 lib/nonnative/grpc_server.rb
nonnative-1.66.0 lib/nonnative/grpc_server.rb
nonnative-1.65.0 lib/nonnative/grpc_server.rb
nonnative-1.64.0 lib/nonnative/grpc_server.rb
nonnative-1.63.0 lib/nonnative/grpc_server.rb
nonnative-1.62.0 lib/nonnative/grpc_server.rb
nonnative-1.61.0 lib/nonnative/grpc_server.rb
nonnative-1.60.0 lib/nonnative/grpc_server.rb
nonnative-1.59.1 lib/nonnative/grpc_server.rb
nonnative-1.59.0 lib/nonnative/grpc_server.rb
nonnative-1.58.2 lib/nonnative/grpc_server.rb