anchor.diff:              self() ! {port_comm_error, Reason0}
   
       end,
  +
  +    CT = erlang:system_time(milli_seconds),
  +    MinRestartTime = ST + timer:seconds(5),
   
       NewState =
           receive
  
positive.code: %% @end
  %%--------------------------------------------------------------------
  -spec init_driver(worker_host:plugin_state()) -> {ok, worker_host:plugin_state()} | {error, Reason :: term()}.
  init_driver(#{db_nodes := DBNodes} = State) ->
      Gateways = lists:map(
          fun({N, {Hostname, Port}}) ->
              GWState = proc_lib:start_link(?MODULE, start_gateway, [self(), N, Hostname, 8091], timer:seconds(5)),
              {N, GWState}
          end, lists:zip(lists:seq(1, length(DBNodes)), DBNodes)),
  
negative.code: %% @end
  %%--------------------------------------------------------------------
  -spec gateway_loop(State :: #{atom() => term()}) -> no_return().
  gateway_loop(#{port_fd := PortFD, id := {_, N} = ID, db_hostname := Hostname, db_port := Port, start_time := ST } = State) ->
      try port_command(PortFD, <<"ping">>) of
          true -> ok
      catch
  