anchor.diff:                          true  -> S;
                           false -> 
                               NewPeer = handshake(S#ej.bindir),
  -                            lists:map(fun(W) -> gen_server:cast(W,{set_peer,NewPeer}) end, S#ej.workers),
  -                            S#ej{peer=NewPeer}
  +                            populate_peer(NewPeer,S)
                       end;
                   Any ->
                       log:debug(self(), "don't know how to handle exit: ~w", [Any]),
  
positive.code: get_ref() ->
      ?EJMSGREF(self(),erlang:make_ref()).
  
  
  -ifdef(DEBUG).
  bad() -> 
  
negative.code: % ej_srv messages
  handle_info({From,_Ref,{?TAG_OK,[?EJMSGPART(call,handshake)]}},S) ->
      log:debug(self(), "info handshake from: ~w", [From]),
      {noreply, populate_peer(From,S)};
  handle_info(Msg={'EXIT', Pid, Reason},S) ->
      log:warn(self(), "EXIT from ~w with reason: ~w", [Pid,Reason]),
      Peer = S#ej.peer,
  