anchor.diff:  
   -module(riak_core_ring_manager).
   -define(RING_KEY, riak_ring).
  --behaviour(riak_core_gen_server).
  +-behaviour(gen_server).
   
   -export([start_link/0,
            start_link/1,
  
positive.code: %% ===================================================================
  
  start_link() ->
      riak_core_gen_server:start_link({local, ?MODULE}, ?MODULE, [live], []).
  
  
  %% Testing entry point
  start_link(test) ->
      riak_core_gen_server:start_link({local, ?MODULE}, ?MODULE, [test], []).
  
  
  %% @spec get_my_ring() -> {ok, riak_core_ring:riak_core_ring()} | {error, Reason}
  
negative.code:     end.
  
  get_raw_ring() ->
      gen_server:call(?MODULE, get_raw_ring, infinity).
  
  %% @spec refresh_my_ring() -> ok
  refresh_my_ring() ->
      gen_server:call(?MODULE, refresh_my_ring, infinity).
  
  refresh_ring(Node, ClusterName) ->
      gen_server:cast({?MODULE, Node}, {refresh_my_ring, ClusterName}).
  
  %% @spec set_my_ring(riak_core_ring:riak_core_ring()) -> ok
  set_my_ring(Ring) ->
      gen_server:call(?MODULE, {set_my_ring, Ring}, infinity).
  
  
  %% @spec write_ringfile() -> ok
  write_ringfile() ->
      gen_server:cast(?MODULE, write_ringfile).
  
  ring_trans(Fun, Args) ->
      gen_server:call(?MODULE, {ring_trans, Fun, Args}, infinity).
  
  set_cluster_name(Name) ->
      gen_server:call(?MODULE, {set_cluster_name, Name}, infinity).
  
  %% @doc Exposed for support/debug purposes. Forces the node to change its
  %%      ring in a manner that will trigger reconciliation on gossip.
  