anchor.diff:  -export([start_link/0]).
   -export([init/1, handle_call/3, handle_cast/2,
            handle_info/2, terminate/2, code_change/3]).
  +
  +-include("ns_common.hrl").
   
   -record(state, {sock}).
   
  
positive.code: call(Node, Call) ->
      gen_server:call({?MODULE, Node}, Call).
  
  do_in_bucket(_Sock, Bucket, Fun) ->
      %% TODO: real multi-tenancy
      case Bucket of
          "default" ->
              Fun();
          _ ->
              {memcached_error, {mc_status_key_enoent, []}}
      end.
      %% case mc_client_binary:select_bucket(Sock, Bucket) of
      %%     ok ->
      %%         Fun();
      %%     R ->
      %%         R
      %% end.
  
  map_vbucket_state("active") -> active;
  map_vbucket_state("replica") -> replica;
  
negative.code: connect(State) ->
      case State#state.sock of
          undefined ->
              try
                  Config = ns_config:get(),
                  Port = ns_config:search_node_prop(Config, memcached, port),
                  gen_tcp:connect("127.0.0.1", Port, [binary, {packet, 0},
                                                      {active, false}], 5000)
              catch
                  E ->
                      %% Retry after 500ms
                      timer:send_after(500, connect),
                      E
              end;
          Sock ->
              {ok, Sock}
      end.
  
  connected() ->
  