class Slack::RealTime::Concurrency::Eventmachine::Socket

Public Instance Methods

send_data(message) click to toggle source
# File lib/slack/real_time/concurrency/eventmachine.rb, line 17
def send_data(message)
  driver.send(message)
end
start_async() { |self| ... } click to toggle source
# File lib/slack/real_time/concurrency/eventmachine.rb, line 9
def start_async
  thread = ensure_reactor_running

  yield self if block_given?

  thread
end

Protected Instance Methods

connect() click to toggle source
# File lib/slack/real_time/concurrency/eventmachine.rb, line 32
def connect
  @driver = ::Faye::WebSocket::Client.new(url, nil, options)
end
ensure_reactor_running() click to toggle source

@return [Thread]

# File lib/slack/real_time/concurrency/eventmachine.rb, line 24
def ensure_reactor_running
  return if EventMachine.reactor_running?

  reactor = Thread.new { EventMachine.run }
  Thread.pass until EventMachine.reactor_running?
  reactor
end