diff options
author | Jeremy Kemper <jeremykemper@gmail.com> | 2015-02-16 08:20:09 -0800 |
---|---|---|
committer | Jeremy Kemper <jeremykemper@gmail.com> | 2015-02-16 08:20:09 -0800 |
commit | 247453adec8e506c641c6c3d3d06709d835f435f (patch) | |
tree | 88c16e7763a38a246d36e81e3bd072f32de25bbf /lib | |
parent | 144a381c5ed9bc2a6f4a4dc1ad392299daca79f2 (diff) | |
parent | c0936fbf1f332a6fc2c68a1dc3f52b327e63f0b2 (diff) | |
download | rails-247453adec8e506c641c6c3d3d06709d835f435f.tar.gz rails-247453adec8e506c641c6c3d3d06709d835f435f.tar.bz2 rails-247453adec8e506c641c6c3d3d06709d835f435f.zip |
Merge remote-tracking branch 'origin/celluloid'
Conflicts:
lib/action_cable/server.rb
Diffstat (limited to 'lib')
-rw-r--r-- | lib/action_cable/server.rb | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/lib/action_cable/server.rb b/lib/action_cable/server.rb index 47c9352160..2449837105 100644 --- a/lib/action_cable/server.rb +++ b/lib/action_cable/server.rb @@ -6,6 +6,8 @@ module ActionCable class_attribute :worker_pool_size self.worker_pool_size = 100 + cattr_accessor(:logger, instance_reader: true) { Rails.logger } + PING_INTERVAL = 3 class << self @@ -75,6 +77,7 @@ module ActionCable end def broadcast(data) + logger.info "Sending data: #{data}" @websocket.send data end @@ -94,24 +97,25 @@ module ActionCable subscription_klass = registered_channels.detect { |channel_klass| channel_klass.find_name == id_options[:channel] } if subscription_klass + logger.info "Subscribing to channel: #{id_key}" @subscriptions[id_key] = subscription_klass.new(self, id_key, id_options) else - # No channel found + logger.error "Unable to subscribe to channel: #{id_key}" end end def process_message(message) - id_key = message['identifier'] - - if @subscriptions[id_key] - @subscriptions[id_key].receive(ActiveSupport::JSON.decode message['data']) + if @subscriptions[message['identifier']] + @subscriptions[message['identifier']].receive(ActiveSupport::JSON.decode message['data']) + else + logger.error "Unable to process message: #{message}" end end def unsubscribe_channel(data) - id_key = data['identifier'] - @subscriptions[id_key].unsubscribe - @subscriptions.delete(id_key) + logger.info "Unsubscribing from channel: #{data['identifier']}" + @subscriptions[data['identifier']].unsubscribe + @subscriptions.delete(data['identifier']) end def invalid_request |