anchor.diff:  lookup_exchange(VHost, QBin) ->
       rabbit_exchange:lookup(rabbit_misc:r(VHost, exchange, QBin)).
   
  -%% returns the original queue name if it fails to find a proper queue.
   least_consumers(VHost, QBin, N) ->
       F = fun(QNum) ->
                   QBin2 = rabbit_sharding_util:make_queue_name(
  
positive.code: queue_name(VHost, QBin) ->
      case lookup_exchange(VHost, QBin) of
          {ok, X}  ->
              {ok, least_consumers(VHost, QBin, shards_per_node(X))};
          _Error ->
              %% Queue is not part of a shard, return unmodified name
              {ok, QBin}
  
negative.code:       fun(Q) ->
                rabbit_amqqueue:info(Q, [consumers])
        end).
  