@@ -72,7 +72,7 @@ defmodule M51.MatrixClient.Poller do
7272 end
7373 end
7474
75- defp poll_one ( sup_pid , since , raw_client , delay \\ nil ) do
75+ defp poll_one ( sup_pid , since , raw_client , delay \\ nil , reconnect_reason \\ nil ) do
7676 query = % {
7777 # Completely arbitrary value. Just make sure it's lower than recv_timeout below
7878 "timeout" => "600000"
@@ -88,7 +88,9 @@ defmodule M51.MatrixClient.Poller do
8888
8989 delay =
9090 if delay do
91- Logger . warn ( "Server connection error, retrying after #{ delay } s" )
91+ Logger . warn (
92+ "Server connection error [#{ reconnect_reason } ], retrying after #{ delay } s"
93+ )
9294 Process . sleep ( delay * 1000 )
9395 Kernel . min ( delay * @ connect_delay_factor , @ connect_delay_max )
9496 else
@@ -102,11 +104,11 @@ defmodule M51.MatrixClient.Poller do
102104
103105 { :error , code , _ } when code >= 500 and code < 600 ->
104106 # server request processing error, try again
105- poll_one ( sup_pid , since , raw_client , delay )
107+ poll_one ( sup_pid , since , raw_client , delay , "http-server-error" )
106108
107- { :error , nil , _ } ->
109+ { :error , nil , reason } ->
108110 # network connection failure, try again
109- poll_one ( sup_pid , since , raw_client , delay )
111+ poll_one ( sup_pid , since , raw_client , delay , reason )
110112 end
111113 end
112114
0 commit comments