'Declare queue on the server.
Arguments:
nowait (bool): Do not wait for a reply.
passive (bool): If set, the server will not create the queue.
The client can use this to check whether a queue exists
without modifying the server state.'

def queue_declare(self, nowait=False, passive=False, channel=None):

    channel = (channel or self.channel)
    queue_arguments = channel.prepare_queue_arguments((self.queue_arguments or {}), expires=self.expires, message_ttl=self.message_ttl, max_length=self.max_length, max_length_bytes=self.max_length_bytes, max_priority=self.max_priority)
    ret = channel.queue_declare(queue=self.name, passive=passive, durable=self.durable, exclusive=self.exclusive, auto_delete=self.auto_delete, arguments=queue_arguments, nowait=nowait)
    if (not self.name):
        self.name = ret[0]
    if self.on_declared:
        self.on_declared(*ret)
    return ret
