Я пытаюсь написать что-то для своего приложения iOS, используя RMQClient
, который сканирует существующие обмены на сервере rabbitmq. Я придумал это до сих пор.Сканирование для кроличьего обмена от iOS
class AMQPExchangeScanner {
static func scan() {
let connection:RMQConnection = RMQConnection(uri: "amqp://user:[email protected]:5672", delegate: RMQConnectionDelegateLogger())
connection.start()
for exchangeName in Foo.pastExchanges() {
let channel = connection.createChannel()
let exchange = channel.fanout(exchangeName, options: .passive)
"scan \(exchangeName) \(exchange)".print()
channel.close()
}
}
}
Я не уверен, как определить, существует ли обмен на самом деле. Оператор print() печатает объекты обмена. Я получаю целую кучу вывода в консоли. Я надеялся, что я хотел бы получить обратно необязательное, так что я мог бы сделать что-то вроде
if let exchange... {
}
Но это, кажется, не так. Как программно проверить, является ли обмен реальным или нет? Или получить эти ошибки? Нужен ли мне собственный делегат соединения и нужно разбирать кучу текста?