anchor.diff:      {noreply, State}.
   
   
  -dispatchDiff(State) ->
  +dispatchDiff(State=#state{chans=Chans}) ->
       case calcDiff(State) of
  -        {All,[],[]} -> ok;
  -        {All,Add,[]} -> broadcast(?map([{added,?array(Add)}]));
  -        {All,[],Rem} -> broadcast(?map([{removed,?array(Rem)}]));
  -        {All,Add,Rem} -> broadcast(?map([{added,?array(Add)},{removed,?array(Rem)}]))
  +        {All, [], []} -> ok;
  +        {All, Add, []} ->
  +	    channel_mgr:sendAll(Chans, ?map([{added, ?array(Add)}]));
  +        {All, [], Rem} ->
  +	    channel_mgr:sendAll(Chans, ?map([{removed, ?array(Rem)}]));
  +        {All, Add, Rem} ->
  +	    channel_mgr:sendAll(
  +	      Chans, ?map([{added, ?array(Add)}, {removed,?array(Rem)}]))
       end,
       All.
   
  
positive.code: -define(WATCHERS,service_watchers).
  -define(P6DMAP,service_map).
  
  -record(state, {known=sets:new()}).
  
  xformEntryAdd(E=#dm{val={SL,HL},node=Node}) ->
      W = service_node_weight:getNodeWeight(Node),
  
negative.code:     mmd_msg:reply(From, CC, Ret),
      {reply,ok,State};
  
  handle_call({mmd, From, CC=#channel_create{type=sub}}, _From,
  	    State=#state{chans=Chans}) ->
      case channel_mgr:processIn(Chans, From, CC) of
          {NewChans, _Msg} ->
  	    All = dispatchDiff(State),
  	    mmd_msg:reply(From, CC, ?map([{added, ?array(sets:to_list(All))}])),
  	    {reply, ok, State#state{known=All, chans=NewChans}};
          NewChans ->
  	    {reply, ok, State#state{chans=NewChans}}
      end;
  
  handle_call({mmd, From, M=#channel_close{}}, _From,
  	    State=#state{chans=Chans}) ->
      {NewChans, _Msg} = channel_mgr:processIn(Chans, From, M),
      {reply, ok, State#state{chans=NewChans}};
  
  handle_call(Request, From, State) ->
      ?linfo("Unexpected call: ~p from: ~p, with state: ~p",[Request,From,State]),
  