class Nonnative::GRPCServer

Attributes

server[R]

Public Class Methods

new(service) click to toggle source
Calls superclass method Nonnative::Server::new
# File lib/nonnative/grpc_server.rb, line 5
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 Instance Methods

perform_start() click to toggle source
# File lib/nonnative/grpc_server.rb, line 19
def perform_start
  server.add_http2_port("0.0.0.0:#{proxy.port}", :this_port_is_insecure)
  server.run
end
perform_stop() click to toggle source
# File lib/nonnative/grpc_server.rb, line 24
def perform_stop
  server.stop
end
wait_start() click to toggle source
Calls superclass method Nonnative::Runner#wait_start
# File lib/nonnative/grpc_server.rb, line 28
def wait_start
  timeout.perform do
    super until server.running?
  end
end
wait_stop() click to toggle source
Calls superclass method Nonnative::Runner#wait_stop
# File lib/nonnative/grpc_server.rb, line 34
def wait_stop
  timeout.perform do
    super until server.stopped?
  end
end