anchor.diff:  -behaviour(gen_fsm).
   
   %% API
  --export([start_link/1, announce/2, announce/3]).
  +-export([start_link/1, announce/3]).
   
   %% Internally used calls
   -export([msg/2]).
  
positive.code:       15 * trunc(math:pow(2,N))).
  
  announce_reply(_Peers, _Status, none) -> ignore;
  announce_reply(Peers, Status, {announce, Requestor, _PL, Ref}) ->
      Requestor ! {announce, Peers, Status, Ref}.
  
  announce_requests(ConnID, ReqL) ->
      announce_requests(ConnID, ReqL, 0).
  
negative.code:     [begin
  	 Tid = announce_req(N, ConnID, PL),
  	 {Tid, AnnReq}
       end || {announce, PL, _From} = AnnReq <- ReqL].
  
  announce_req(N, ConnID, PropL) ->
      [IH, PeerId, Down, Left, Up, Event, IPAddr, Key, Port] =
  