anchor.diff:              molderl_recovery:store(Info#info.recovery_service, EncodedMsgs, EncodedMsgsSize, NumMsgs),
               statsderl:timing_now(Info#info.statsd_latency_key_out, Start, 0.1),
               statsderl:increment(Info#info.statsd_count_key, 1, 0.1),
  +            lager:debug("[molderl] Sent mold packet. Stream:~p, SeqNum:~p, NumMsgs:~p.~n", [Name, SeqNum, NumMsgs]),
               flush(Info, SeqNum+NumMsgs, Pckts);
           {error, eagain} -> % retry next cycle
  +            lager:error("[molderl] Error sending UDP packets: (eagain) resource temporarily unavailable'. Stream:~p. Retrying...~n", [Name]),
               {ok, SeqNum, lists:reverse([{Start, Msgs}|Pckts])};
           {error, Reason} ->
               Log = "[molderl] Experienced issue ~p (~p) writing to UDP socket. Resetting.",
  
positive.code: 
  handle_info(prod, {Info, State=#state{packets=[], messages={_,[]}}}) ->
      % Timer triggered a send, but packets/msgs queue empty
      send_heartbeat(Info, State#state.sequence_number),
      TRef = erlang:send_after(Info#info.prod_interval, self(), prod),
      {noreply, {Info, State#state{timer_ref=TRef}}};
  
negative.code: handle_info(prod, {Info, OldState=#state{packets=Pckts, messages=Msgs}}) ->
      % Timer triggered a send, flush packets/msgs buffer
      State = OldState#state{packets=[Msgs|Pckts], messages={{0,0,0}, []}},
      lager:debug("[molderl] Flushing... Stream:~p, NumPackets:~p.~n", [Info#info.stream_name, length(State#state.packets)]),
      case flush(Info, State) of
          {ok, NewState} ->
              {noreply, {Info, NewState}};
  