mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
f8477f13bf
The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
38 lines
1.1 KiB
Ruby
38 lines
1.1 KiB
Ruby
require "ostruct"
|
|
|
|
class TestServer
|
|
include ActionCable::Server::Connections
|
|
include ActionCable::Server::Broadcasting
|
|
|
|
attr_reader :logger, :config, :mutex
|
|
|
|
def initialize(subscription_adapter: SuccessAdapter)
|
|
@logger = ActiveSupport::TaggedLogging.new ActiveSupport::Logger.new(StringIO.new)
|
|
|
|
@config = OpenStruct.new(log_tags: [], subscription_adapter: subscription_adapter)
|
|
@config.use_faye = ENV["FAYE"].present?
|
|
@config.client_socket_class = if @config.use_faye
|
|
ActionCable::Connection::FayeClientSocket
|
|
else
|
|
ActionCable::Connection::ClientSocket
|
|
end
|
|
|
|
@mutex = Monitor.new
|
|
end
|
|
|
|
def pubsub
|
|
@pubsub ||= @config.subscription_adapter.new(self)
|
|
end
|
|
|
|
def event_loop
|
|
@event_loop ||= if @config.use_faye
|
|
ActionCable::Connection::FayeEventLoop.new
|
|
else
|
|
ActionCable::Connection::StreamEventLoop.new
|
|
end
|
|
end
|
|
|
|
def worker_pool
|
|
@worker_pool ||= ActionCable::Server::Worker.new(max_size: 5)
|
|
end
|
|
end
|