Method: ActionCable::Connection::ClientSocket#initialize
- Defined in:
- actioncable/lib/action_cable/connection/client_socket.rb
#initialize(env, event_target, event_loop, protocols) ⇒ ClientSocket
Returns a new instance of ClientSocket.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'actioncable/lib/action_cable/connection/client_socket.rb', line 36 def initialize(env, event_target, event_loop, protocols) @env = env @event_target = event_target @event_loop = event_loop @url = ClientSocket.determine_url(@env) @driver = @driver_started = nil @close_params = ["", 1006] @ready_state = CONNECTING # The driver calls `env`, `url`, and `write` @driver = ::WebSocket::Driver.rack(self, protocols: protocols) @driver.on(:open) { |e| open } @driver.on(:message) { |e| (e.data) } @driver.on(:close) { |e| begin_close(e.reason, e.code) } @driver.on(:error) { |e| emit_error(e.) } @stream = ActionCable::Connection::Stream.new(@event_loop, self) end |