aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/action_cable/remote_connection.rb10
-rw-r--r--lib/action_cable/server/broadcasting.rb8
2 files changed, 10 insertions, 8 deletions
diff --git a/lib/action_cable/remote_connection.rb b/lib/action_cable/remote_connection.rb
index b6fdf226e3..d7a3f0125d 100644
--- a/lib/action_cable/remote_connection.rb
+++ b/lib/action_cable/remote_connection.rb
@@ -10,18 +10,16 @@ module ActionCable
end
def disconnect
- redis.publish internal_redis_channel, { type: 'disconnect' }.to_json
+ server.broadcast_without_logging internal_redis_channel, type: 'disconnect'
end
def identifiers
- @server.connection_identifiers
- end
-
- def redis
- @server.threaded_redis
+ server.connection_identifiers
end
private
+ attr_reader :server
+
def set_identifier_instance_vars(ids)
raise InvalidIdentifiersError unless valid_identifiers?(ids)
ids.each { |k,v| instance_variable_set("@#{k}", v) }
diff --git a/lib/action_cable/server/broadcasting.rb b/lib/action_cable/server/broadcasting.rb
index 691ec1b486..0d591d03e4 100644
--- a/lib/action_cable/server/broadcasting.rb
+++ b/lib/action_cable/server/broadcasting.rb
@@ -19,8 +19,12 @@ module ActionCable
@server, @channel = server, channel
end
- def broadcast(message, log: true)
- server.logger.info "[ActionCable] Broadcasting to #{channel}: #{message}" if log
+ def broadcast(message)
+ server.logger.info "[ActionCable] Broadcasting to #{channel}: #{message}"
+ broadcast_without_logging(message)
+ end
+
+ def broadcast_without_logging(message)
server.redis_for_threads.publish channel, message.to_json
end