Module: Anycable::Server

Defined in:
lib/anycable/server.rb

Overview

Wrapper over GRPC server

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.grpc_serverObject (readonly)

Returns the value of attribute grpc_server.



11
12
13
# File 'lib/anycable/server.rb', line 11

def grpc_server
  @grpc_server
end

Class Method Details

.log_grpc!Object

Enable GRPC logging



30
31
32
# File 'lib/anycable/server.rb', line 30

def log_grpc!
  GRPC.define_singleton_method(:logger) { Anycable.logger }
end

.running?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/anycable/server.rb', line 25

def running?
  grpc_server&.running_state == :running
end

.startObject



13
14
15
16
17
18
# File 'lib/anycable/server.rb', line 13

def start
  log_grpc! if Anycable.config.log_grpc

  start_http_health_server
  start_grpc_server
end

.stopObject



20
21
22
23
# File 'lib/anycable/server.rb', line 20

def stop
  return unless running?
  @grpc_server.stop
end