diff options
Diffstat (limited to 'actioncable/app/assets/javascripts/action_cable/connection.coffee')
-rw-r--r-- | actioncable/app/assets/javascripts/action_cable/connection.coffee | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/actioncable/app/assets/javascripts/action_cable/connection.coffee b/actioncable/app/assets/javascripts/action_cable/connection.coffee index e8c9ae6bd0..9be5cdf5fb 100644 --- a/actioncable/app/assets/javascripts/action_cable/connection.coffee +++ b/actioncable/app/assets/javascripts/action_cable/connection.coffee @@ -8,9 +8,6 @@ class ActionCable.Connection constructor: (@consumer) -> send: (data) -> - unless @isOpen() - @open() - if @isOpen() @webSocket.send(JSON.stringify(data)) true @@ -18,7 +15,7 @@ class ActionCable.Connection false open: => - if @isAlive() + if @isActive() ActionCable.log("Attemped to open WebSocket, but existing socket is #{@getState()}") throw new Error("Existing connection must be closed before opening") else @@ -33,7 +30,7 @@ class ActionCable.Connection reopen: -> ActionCable.log("Reopening WebSocket, current state is #{@getState()}") - if @isAlive() + if @isActive() try @close() catch error @@ -47,10 +44,10 @@ class ActionCable.Connection isOpen: -> @isState("open") - # Private + isActive: -> + @isState("open", "connecting") - isAlive: -> - @webSocket? and not @isState("closing", "closed") + # Private isState: (states...) -> @getState() in states @@ -101,4 +98,5 @@ class ActionCable.Connection disconnect: -> return if @disconnected @disconnected = true + @consumer.connectionMonitor.disconnected() @consumer.subscriptions.notifyAll("disconnected") |