anchor.diff:    {stop, Reason :: term(), Reply :: term(), NewState :: #state{}} |
     {stop, Reason :: term(), NewState :: #state{}}).
   handle_call({handle_payload, Payload}, _From, State) ->
  -  do_handle(Payload),
  +  do_handle(Payload, State),
     {reply, ok, State};
   handle_call(_Request, _From, State) ->
     {reply, ok, State}.
  
positive.code:       lager:debug("Backend: ~p", [Backend]),
        SrcAddr = IP#ipv4.saddr,
        SrcPort = TCP#tcp.sport,
        NewSrcAddr = get_src_addr(SrcAddr, BackendIP),
        Mapping = #mapping{orig_src_ip = SrcAddr,
          orig_src_port = SrcPort,
          orig_dst_ip = DstAddr,
  
negative.code: -include("enfhackery.hrl").
  -define(SERVER, ?MODULE).
  
  -define(REFRESH_INTERVAL, 5000).
  -record(state, {local_addrs = erlang:error()}).
  
  %%%===================================================================
  %%% API
  %%%===================================================================
  
  
  refresh_ifaddrs(Pid) ->
    {ok, InetIfaddrs} = inet:getifaddrs(),
    InetIfaddrsSet = inet_ifaddrs_to_set(InetIfaddrs),
    gen_server:cast(Pid, {refresh_ifaddrs, InetIfaddrsSet}).
  
  handle(Payload) ->
    catch gen_server:call(?SERVER, {handle_payload, Payload}).
  