anchor.diff:      {noreply, State}.
   
   %% @private
  -handle_info({post, Msg}, State = #state{sock=undefined,
  -                                        buf=Buf})
  +handle_info({post, Msg}, State = #state{sock = undefined,
  +                                        id = Token,
  +                                        buf = Buf})
     when is_tuple(Msg) ->
  +    logplex_stats:incr({drain_buffered, Token}),
       NewBuf = logplex_drain_buffer:push(Msg, Buf),
       {noreply, State#state{buf=NewBuf}};
   
  
positive.code:   when is_tuple(Msg) ->
      case post(Msg, S, Token) of
          ok ->
              {noreply, tcp_good(State)};
          {error, Reason} ->
              ?ERR("drain_id=~p channel_id=~p dest=~s at=post err=gen_tcp data=~p",
  
negative.code:             Msg = case Item of
                        {msg, M} -> M;
                        {loss_indication, N, When} ->
                            logplex_stats:incr({drain_dropped, ID}),
                            ?INFO("drain_id=~p channel_id=~p dest=~s at=loss"
                                  " dropped=~p since=~s",
                                  log_info(State, [N, logplex_syslog_utils:datetime(When)])),
  