anchor.diff:    Parent = self(),
     spawn_link(
       fun() ->
  -      Result =
  -        try
  -          {ok, F(CbState)}
  -        catch C : E ->
  -          {error, {C, E, erlang:get_stacktrace()}}
  -        end,
  +      Result = F(CbState),
         Parent ! {handle_messages_result, Ref, Result}
       end),
     State#state{cb_pending = [Ref | Rest]};
  
positive.code:                , sleep_timeout  :: integer()
                 , prefetch_count :: integer()
                 , corr_id        :: corr_id()
                 }).
  
  -define(DEFAULT_OFFSET, -1).
  
negative.code: -define(DEFAULT_MAX_WAIT_TIME, 1000). % 1 sec
  -define(DEFAULT_SLEEP_TIMEOUT, 1000). % 1 sec
  -define(DEFAULT_PREFETCH_COUNT, 1).
  -define(ERROR_COOLDOWN, 1000).
  
  -define(SEND_FETCH_REQUEST, send_fetch_request).
  
  %%%_* APIs =====================================================================
  %% @equiv start_link(ClientId, Topic, Partition, Config, [])
  