Method: GRPC::RpcServer#transition_running_state

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

#transition_running_state(target_state) ⇒ Object

Can only be called while holding @run_mutex



267
268
269
270
271
272
273
274
275
276
277
278
# File 'src/ruby/lib/grpc/generic/rpc_server.rb', line 267

def transition_running_state(target_state)
  state_transitions = {
    not_started: :running,
    running: :stopping,
    stopping: :stopped
  }
  if state_transitions[@running_state] == target_state
    @running_state = target_state
  else
    fail "Bad server state transition: #{@running_state}->#{target_state}"
  end
end