anchor.diff:      mc_downstream:demonitor(Monitors),
       {ok, Session};
   
  +cmd(flush_all, Session, InSock, _Out, ["noreply"]) ->
  +    cmd(flush_all, Session, InSock, undefined, []);
  +cmd(flush_all, Session, InSock, _Out, [X, "noreply"]) ->
  +    cmd(flush_all, Session, InSock, undefined, [X]);
  +
   cmd(flush_all, #session_proxy{bucket = Bucket} = Session,
       _InSock, Out, _CmdArgs) ->
  +    % TODO: flush_all with optional parameter
       Addrs = mc_bucket:addrs(Bucket),
       {NumFwd, Monitors} =
           lists:foldl(fun (Addr, Acc) ->
  
positive.code: cmd(decr, Session, InSock, Out, CmdArgs) ->
      forward_arith(decr, Session, InSock, Out, CmdArgs);
  
  cmd(delete, #session_proxy{bucket = Bucket} = Session,
      _InSock, Out, [Key]) ->
      {Key, Addrs, Config} = mc_bucket:choose_addrs(Bucket, Key),
  
negative.code:     mc_downstream:demonitor(Monitors),
      {ok, Session};
  
  % TODO:
  % version
  % verbosity
  % stats
  % stats args
  
  cmd(quit, _Session, _InSock, _Out, _Rest) ->
      exit({ok, quit_received});
  
  