Method: GRPC::RpcServer#stop

Defined in:
src/ruby/lib/grpc/generic/rpc_server.rb

#stopObject

stops a running server

the call has no impact if the server is already stopped, otherwise server’s current call loop is it’s last.



242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
# File 'src/ruby/lib/grpc/generic/rpc_server.rb', line 242

def stop
  # if called via run_till_terminated_or_interrupted,
  #   signal stop_server_thread and don't do anything
  if @stop_server.nil? == false && @stop_server == false
    @stop_server = true
    @stop_server_cv.broadcast
    return
  end
  @run_mutex.synchronize do
    fail 'Cannot stop before starting' if @running_state == :not_started
    return if @running_state != :running
    transition_running_state(:stopping)
    deadline = from_relative_time(@poll_period)
    @server.shutdown_and_notify(deadline)
  end
  @pool.stop
end