anchor.diff:  -record(state, {sock :: 'undefined' | port(),
                   buffer = syslog_parser:new(),
                   peername :: 'undefined' | {inet:ip4_address(),
  -                                           inet:port_number()}
  +                                           inet:port_number()},
  +                connect_time :: 'undefined' | erlang:timestamp()
                  }).
   
   -include("logplex_logging.hrl").
  
positive.code: 
  terminate(_Reason, _State) ->
      ok.
  
  code_change(_OldVsn, State, _Extra) ->
      {ok, State}.
  
negative.code:     inet:setopts(Sock, [{active, once}]),
      {noreply, State#state{buffer=NewBuf}};
  
  handle_info({tcp_closed, Sock}, State = #state{sock = Sock,
                                                 peername={H,P}}) ->
      ?INFO("at=close peer=~s duration=~p",
            [logplex_logging:dest(H, P), duration(State)]),
      {stop, normal, State};
  
  handle_info({tcp_error, Sock, Reason},
              State = #state{sock = Sock,
                             peername = {H,P}}) ->
      ?WARN("err=gen_tcp peer=~s data=~p duration=~p",
            [loglex_logging:dest(H,P), Reason, duration(State)]),
      {stop, normal, State};
  
  handle_info(Msg, State) ->
  