anchor.diff:        %% peer handler unknown, allocate new one
         undefined ->
            {Pipe, Queue} = q:deq(State#fsm.acceptor),
  -         Pid = pipe:a(Pipe),
  -         pipe:ack(Pipe, {peer, State#fsm.sock}),
  -         pns:register(knet, {udp, {Host, Port}}, Pid),
  -         pipe:send(Pid, {udp, self(), {{Host, Port}, Pckt}}),
  +         Pid  = pipe:a(Pipe),
  +         Peer = {Host, Port},
  +         pipe:ack(Pipe, {peer, Peer, State#fsm.sock}),
  +         pns:register(knet, {udp, Peer}, Pid),
  +         pipe:send(Pid, {udp, self(), {Peer, Pckt}}),
            {next_state, 'LISTEN', udp_ioctl(State#fsm{acceptor = Queue})};
         %% peer handler exists
         Pid ->
  
positive.code: 
  
  %%
  'IDLE'({accept, Uri}, _Pipe, State) ->
     Port = uri:get(port, Uri),
     Pid  = knet:whereis(udp, {any, Port}), 
     case pipe:call(Pid, accept, infinity) of
  
negative.code:          {next_state, 'ESTABLISHED', State#fsm{sock = Sock}};
  
        % each acceptor handles dedicate peer, spawn new acceptor    
        {peer, Peer, Sock} ->
           {ok, _} = supervisor:start_child(knet:whereis(acceptor, Uri), [Uri, State#fsm.so]),
           {next_state, 'ESTABLISHED', State#fsm{stream = Stream#stream{peer = Peer}, sock = Sock}}
     end;
  
  %%
  