Module: Anycable::Server
- Defined in:
- lib/anycable/server.rb
Overview
Wrapper over GRPC server
Class Attribute Summary collapse
-
.grpc_server ⇒ Object
readonly
Returns the value of attribute grpc_server.
Class Method Summary collapse
-
.log_grpc! ⇒ Object
Enable GRPC logging.
- .running? ⇒ Boolean
- .start ⇒ Object
- .stop ⇒ Object
Class Attribute Details
.grpc_server ⇒ Object (readonly)
Returns the value of attribute grpc_server.
10 11 12 |
# File 'lib/anycable/server.rb', line 10 def grpc_server @grpc_server end |
Class Method Details
.log_grpc! ⇒ Object
Enable GRPC logging
31 32 33 |
# File 'lib/anycable/server.rb', line 31 def log_grpc! GRPC.define_singleton_method(:logger) { Anycable.logger } end |
.running? ⇒ Boolean
26 27 28 |
# File 'lib/anycable/server.rb', line 26 def running? grpc_server&.running_state == :running end |
.start ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/anycable/server.rb', line 12 def start log_grpc! if Anycable.config.log_grpc @grpc_server ||= build_server Anycable.logger.info "RPC server is listening on #{Anycable.config.rpc_host}" Anycable.logger.info "Broadcasting Redis channel: #{Anycable.config.redis_channel}" grpc_server.run_till_terminated end |
.stop ⇒ Object
21 22 23 24 |
# File 'lib/anycable/server.rb', line 21 def stop return unless running? @grpc_server.stop end |