code: function Queue(bus, name) {
    events.EventEmitter.call(this);
    this.setMaxListeners(0);
    this.bus = bus;
    this.type = 'queue';
    this.id = this.bus.options.layout === 'cluster' ? "{bus:queue:" + name + "}" : "bus:queue:" + name;
    this.logger = bus.logger.withTag(this.id);
    this.name = name;
    this._state = STATES.DETACHED;
    this.metadataKey = this.id + ":metadata";
    this.messagesKey = this.id + ":messages";
    this.messageIdKey = this.id + ":msgid";
    this.messagesToAckKey = this.id + ":toack";
    this.messageAvailableChannel = this.id + ":available";
    this.qKeys = [this.metadataKey, this.messagesKey, this.messageIdKey, this.messagesToAckKey];
    this.toucher = null;
    this._pushed = 0;
    this._consumed = 0;
  }
docs: Queue. Do not instantiate directly, instead use {Bus#queue} to create a new Queue.
  @param bus
  @param name
  @constructor