similar API and return value as Net::RabbitMQ