-type state() :: #state{bootstrap_ips :: list(), datacenter :: undefined | binary(), nodes :: [{binary(), binary()}], port :: pos_integer(), strategy :: random | token_aware, timer_ref :: undefined | reference()}.
-spec handle_msg(term(), state()) -> {ok, state()}.
-spec init(atom(), pid(), undefined) -> no_return().
-spec start_link() -> {ok, pid()}.
-spec terminate(term(), state()) -> ok.