anchor.diff: +%% Uses UDP multicast to resolve against other instances of this code
  +%% running elsewhere on the LAN. Streams via HTTP.
  +
   -module(lan_resolver).
   
   -behaviour(gen_server).
  
positive.code: -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
       terminate/2, code_change/3]).
  
  -record(state, {sock}).
  -define(BROADCAST, {239,255,0,1}).
  
  %% API
  
negative.code: weight()                -> 95.
  targettime()            -> 50.
  
  %% Used as a callback when qry results arrive:
  send_response(A, Qid, Ip, Port) -> 
      gen_server:cast(?MODULE, {send_response, A, Qid, Ip, Port}).
  
  %% gen_server callbacks
  init([]) ->
  	{R1,R2,R3} = now(),
  	random:seed(R1,R2,R3),
  	SQ = ets:new(seenqids,[]),
  	LAddr = {0,0,0,0},
      {ok, Sock} = gen_udp:open(60210, [binary, 
                                       {reuseaddr, true},{ip, ?BROADCAST}, 
                                       {add_membership, {?BROADCAST, LAddr}}]),
      {ok, #state{sock=Sock, seenqids=SQ}}.
  
  handle_call(_Request, _From, State) ->
      Reply = ok,
  