anchor.diff:          end.
   
   
  +get_domainlist(Home, From) -> 
  +        {ok, Files} = file:list_dir(Home),
  +        PDomains = lists:map(fun
  +                ([$r, $d, $o, $m, $a, $i, $n, $-|DomainS]) ->
  +                        DomainID = (catch list_to_integer(DomainS)),
  +                        {Alive, _} = domain_lookup(DomainID),
  +                        {DomainID, Alive};
  +                (_) -> none
  +        end, Files),
  +        gen_server:reply(From, {ok, [X || X <- PDomains, X =/= none]}).
  +
  +get_infopack(InfoFile, From) ->
  +        Ret = case catch file:script(InfoFile) of
  +                {ok, _} = R -> R;
  +                Error -> {error, Error}
  +        end,
  +        gen_server:reply(From, Ret).
  +
   %%% callback stubs
   
   terminate(_Reason, _State) -> {}.
  
positive.code: 
  domain_dispatch(Home, DomainID, IsOwner, Msg) ->
          error_logger:info_report({"Dispatch", DomainID, IsOwner, Msg}),
          {Alive, S} = case ets:lookup(domain_table, DomainID) of
                  [] -> {false, none};
                  [{_, S0}] -> {is_process_alive(S0), S0}
          end,
          if Alive -> 
                  Server = S;
          true ->
  
negative.code:                 ets:insert(domain_table, {DomainID, Server})
          end,
          gen_server:cast(Server, Msg).
  
  domain_lookup(DomainID) ->
          case ets:lookup(domain_table, DomainID) of
                  [] -> {false, none};
                  [{_, Pid}] -> {is_process_alive(Pid), Pid}
          end.
  
  kill_domains() ->
          [gen_server:cast(S, {kill_domain, "ring changes"}) || 
  