@@ -24,8 +24,6 @@ defmodule Phoenix.Transports.WebSocket do
2424 It may be set to `false` (not recommended) or to a list of explicitly
2525 allowed origins
2626
27- * `:heartbeat` - the heartbeat interval in milliseconds, default `30_000`
28-
2927 * `:code_reloader` - optionally override the default `:code_reloader` value
3028 from the socket's endpoint
3129
@@ -44,9 +42,8 @@ defmodule Phoenix.Transports.WebSocket do
4442
4543 def default_config ( ) do
4644 [ serializer: Phoenix.Transports.WebSocketSerializer ,
47- timeout: :infinity ,
48- transport_log: false ,
49- heartbeat: 30_000 ]
45+ timeout: 60_000 ,
46+ transport_log: false ]
5047 end
5148
5249 def handlers ( ) do
@@ -56,7 +53,6 @@ defmodule Phoenix.Transports.WebSocket do
5653 ## Callbacks
5754
5855 import Plug.Conn , only: [ fetch_query_params: 1 , send_resp: 3 ]
59- import Phoenix.Utils , only: [ now_ms: 0 ]
6056
6157 alias Phoenix.Socket.Broadcast
6258 alias Phoenix.Socket.Transport
@@ -100,24 +96,19 @@ defmodule Phoenix.Transports.WebSocket do
10096 Process . flag ( :trap_exit , true )
10197 serializer = Keyword . fetch! ( config , :serializer )
10298 timeout = Keyword . fetch! ( config , :timeout )
103- heartbeat = Keyword . fetch! ( config , :heartbeat )
10499
105100 if socket . id , do: socket . endpoint . subscribe ( self , socket . id , link: true )
106101
107- Process . send_after ( self , :phoenix_heartbeat , heartbeat )
108102
109103 { :ok , % { socket: socket ,
110104 channels: HashDict . new ,
111105 channels_inverse: HashDict . new ,
112- client_last_active: now_ms ( ) ,
113- heartbeat_interval: heartbeat ,
114106 serializer: serializer } , timeout }
115107 end
116108
117109 @ doc false
118110 def ws_handle ( opcode , payload , state ) do
119111 msg = state . serializer . decode! ( payload , opcode: opcode )
120- state = bump_client_last_active ( state )
121112
122113 case Transport . dispatch ( msg , state . channels , state . socket ) do
123114 :noreply ->
@@ -150,23 +141,10 @@ defmodule Phoenix.Transports.WebSocket do
150141 format_reply ( msg , state )
151142 end
152143
153- def ws_info ( :phoenix_heartbeat , state ) do
154- if client_unresponsive? ( state ) do
155- { :shutdown , state }
156- else
157- Process . send_after ( self , :phoenix_heartbeat , state . heartbeat_interval )
158- encode_reply Transport . heartbeat_message ( ) , state
159- end
160- end
161-
162144 def ws_info ( _ , state ) do
163145 { :ok , state }
164146 end
165147
166- defp client_unresponsive? ( state ) do
167- now_ms ( ) - state . client_last_active > ( state . heartbeat_interval * 2 )
168- end
169-
170148 @ doc false
171149 def ws_terminate ( _reason , _state ) do
172150 :ok
@@ -197,10 +175,6 @@ defmodule Phoenix.Transports.WebSocket do
197175 { :reply , { encoding , encoded_payload } , state }
198176 end
199177
200- defp bump_client_last_active ( state ) do
201- % { state | client_last_active: now_ms ( ) }
202- end
203-
204178 defp code_reload ( conn , opts , endpoint ) do
205179 reload? = Keyword . get ( opts , :code_reloader , endpoint . config ( :code_reloader ) )
206180 if reload? , do: Phoenix.CodeReloader . reload! ( endpoint )
0 commit comments