CTBAKX363VUAEKISZ6NVM2DFVNI4KKAWYIOMCG2J5JOY264YCHMQC J2ZIAAWB63E7ZKGHCVMP6YWTGWFXNYHMFCIVWHIADECTDIHS7RMQC ZHCP555BZTS3QK7H7KDXVTNOUGNCYCGEWCBE52QDSBPSVV53VGNQC AJROBQA5HEODQP7HQMSLZD6SPNBVCVQM4GTY7PRTPUSC5SDVUPSAC CEUY65RGF7W2FNSUILOMZPX7UPLUYF46WTV2KF44UR54A6JXOSJAC 4ZIFEMVBHRMTDUAOMOF6DBV42ZOC4RYGLFPSLIZFCS2NO3C7FO3AC 6RQQDL46IO2ZFTJSEJREWJIMTNHOH4UBSO2VXAYNLEWNUR72OWHQC 55WLMLEEVBRSTAFRZ5RGF7TOGUF5OPVCPA2TMHAQK45OUO7PA3YQC XGOBDG23Q4PBQCE5IDY4ACQQKXJ77VM43Q433GBWI4VK3PT5NLEAC GMJDM2KTUACQRY7RQYC25U4UCVD6JEIU3A45GPOCK2QTJS56WQ3AC handle_info({'DOWN', _Ref, process, Pid, _Reason}, State) when Pid =:= State#state.transport_pid ->io:format("[PeerEvents] Transport process died. Attempting recovery...~n"),%% Transport died, query supervisor for new PIDTransportSup = State#state.transport_sup,%% Wait a moment for supervisor to restart ittimer:sleep(200),case cabal_transport_sup:get_transport_pid(TransportSup) of{ok, NewTPid} ->io:format("[PeerEvents] Reacquired transport PID: ~p~n", [NewTPid]),erlang:monitor(process, NewTPid),{noreply, State#state{transport_pid = NewTPid}};{error, _} ->{stop, transport_died_permanently, State}end;
_ when Pid =:= State#state.transportPid ->io:format("[Peer] Transport process died: ~p. Attempting recovery...~n", [Reason]),%% Transport died, query supervisor for new PIDTransportSup = State#state.transportSup,%% Wait a moment for supervisor to restart ittimer:sleep(200),case cabal_transport_sup:get_transport_pid(TransportSup) of{ok, NewTPid} ->io:format("[Peer] Reacquired transport PID: ~p~n", [NewTPid]),erlang:monitor(process, NewTPid),ok = cabal_transport:register_handler(NewTPid, self()),{noreply, State#state{transportPid = NewTPid}};{error, _} ->io:format("[Peer] Failed to reacquire transport PID! Stopping.~n"),{stop, transport_died_permanently, State}end;