@callback lookup_topic( conn :: pid(), topic_name :: String.t(), authoritative :: boolean(), deadline :: integer() ) :: {:connect, String.t()} | {:redirect, String.t()} | {:error, term()}
@callback lookup_topic_partitions( conn :: pid(), topic_name :: String.t(), deadline :: integer() ) :: {:ok, integer()} | {:error, term()}