anchor.diff:      start(?DEFAULT_N).
   
   start(N) ->
  -    gen_server:start(?STARTSPEC, ?MODULE, #jsrv{n=N}, []).
  +    gen_server:start(?STARTSPEC, ?MODULE, #ej{n=N}, []).
   
   start(N,Bindir) ->
  -    gen_server:start(?STARTSPEC, ?MODULE, #jsrv{n=N,bindir=Bindir}, []).
  +    gen_server:start(?STARTSPEC, ?MODULE, #ej{n=N,bindir=Bindir}, []).
   
   start_link() ->
       start_link(?DEFAULT_N). 
       
   start_link(N) ->
  -    gen_server:start_link(?STARTSPEC, ?MODULE, #jsrv{n=N}, []).
  +    gen_server:start_link(?STARTSPEC, ?MODULE, #ej{n=N}, []).
   
   start_link(N,Bindir) ->
  -    gen_server:start_link(?STARTSPEC, ?MODULE, #jsrv{n=N,bindir=Bindir}, []).
  +    gen_server:start_link(?STARTSPEC, ?MODULE, #ej{n=N,bindir=Bindir}, []).
   
   stop() ->
       gen_server:cast(?SRVNAME, {'STOP'}).
  
positive.code:     Cmd  = Bindir ++ "/" ++ ?JNODEBIN ++ " " ++ Args ++ " &",
      log:info(self(), "open port to org.ister.ej.Node: ~p", [Cmd]),
      Port = erlang:open_port({spawn, Cmd},[]),
      log:info(self(), "port: ~p", [Port]).
  
  run_handshake(Peer) ->
      send_peer(Peer, Ref=get_ref(), ?TAG_NODE, [?EJMSGPART(call,handshake)]),
      receive
          {From,Ref,{?TAG_OK,[?EJMSGPART(call,handshake)]}} -> 
              log:info(self(), "got handshake from: ~p", [From]),
              erlang:link(From),
              {ok,From}
      after
  
negative.code:     {noreply,S};
  % ej_srv messages
  handle_info({From,_Ref,{?TAG_OK,[?EJMSGPART(call,handshake)]}},S) ->
      log:debug(self(), "info handshake from: ~w", [From]),
      {noreply, S#ej{peer=From}};
  handle_info(Msg={'EXIT', Pid, Reason},S) ->
      log:warn(self(), "EXIT from ~w with reason: ~w", [Pid,Reason]),
      Peer = S#ej.peer,
      S1 =
      if 
          is_port(Pid) -> S;
          true         -> 
              case Msg of
                  {'EXIT', Peer, noconnection} ->
                      case S#ej.stopping of
                          true  -> S;
                          false -> 
                              S#ej{peer=handshake(S#ej.bindir)}
                      end;
                  Any ->
                      log:debug(self(), "don't know how to handle exit: ~w", [Any]),
  