@@ -6,8 +6,6 @@ defmodule NervesHubWeb.DeviceSocket do
66
77 alias NervesHub.Devices.Connections
88
9- alias NervesHub.Tracker
10-
119 alias NervesHub.RPC.DeviceAuth
1210
1311 channel ( "console" , NervesHubWeb.ConsoleChannel )
@@ -19,7 +17,8 @@ defmodule NervesHubWeb.DeviceSocket do
1917 @ impl Phoenix.Socket.Transport
2018 @ decorate with_span ( "Channels.DeviceSocket.terminate" )
2119 def terminate ( reason , { _channels_info , socket } = state ) do
22- on_disconnect ( reason , socket )
20+ % { assigns: % { device: device , reference_id: reference_id } } = socket
21+ DeviceAuth . disconnect_device ( reason , device , reference_id )
2322 super ( reason , state )
2423 end
2524
@@ -111,50 +110,6 @@ defmodule NervesHubWeb.DeviceSocket do
111110 { :ok , socket }
112111 end
113112
114- @ decorate with_span ( "Channels.DeviceSocket.on_disconnect" )
115- defp on_disconnect ( exit_reason , socket )
116-
117- defp on_disconnect ( { :error , reason } , % {
118- assigns: % {
119- device: device ,
120- reference_id: reference_id
121- }
122- } ) do
123- if reason == { :shutdown , :disconnected } do
124- :telemetry . execute ( [ :nerves_hub , :devices , :duplicate_connection ] , % { count: 1 } , % {
125- ref_id: reference_id ,
126- device: device
127- } )
128- end
129-
130- shutdown ( device , reference_id )
131-
132- :ok
133- end
134-
135- defp on_disconnect ( _ , % {
136- assigns: % {
137- device: device ,
138- reference_id: reference_id
139- }
140- } ) do
141- shutdown ( device , reference_id )
142- end
143-
144- @ decorate with_span ( "Channels.DeviceSocket.shutdown" )
145- defp shutdown ( device , reference_id ) do
146- :telemetry . execute ( [ :nerves_hub , :devices , :disconnect ] , % { count: 1 } , % {
147- ref_id: reference_id ,
148- identifier: device . identifier
149- } )
150-
151- { :ok , _device_connection } = Connections . device_disconnected ( reference_id )
152-
153- Tracker . offline ( device )
154-
155- :ok
156- end
157-
158113 defp last_seen_update_interval ( ) do
159114 Application . get_env ( :nerves_hub , :device_last_seen_update_interval_minutes )
160115 end
0 commit comments