Библиотека XMPP, работающая с Boost.ASIO

У меня есть программа, написанная с использованием Boost.ASIO. Я ищу клиентскую библиотеку C ++ XMPP, которая могла бы использоваться с ней, то есть библиотеку, которая уже использует Boost.ASIO и которая либо предоставляет свой внутренний экземпляр io_service, либо которую я могу инициализировать своим собственным существующим экземпляром io_service, а затем просто вызовите run () на моем io_service.

Видимо свифтен (https://swift.im/swiften.html) использует Boost для внутреннего использования, но я не могу найти ни одного примера того, как получить внутренний io_service.

Любой указатель?

1

Решение

По некоторым фрагментам исходный код, Swiften использует Boost для внутреннего использования, но не для ASIO. Он использует такие вещи, как shared_ptr, boost::bind, генератор случайных чисел и так далее, но не boost::asio,

И согласно источникам, Swift::EventLoop имеет io_serviceинтерфейс, но не использовать его.

Таким образом, ответ: нет, вы не можете извлечь io_service от Swiften, так как его не используют повышение :: ASIO.

UPD: Но вы можете использовать Swiften в отдельном потоке асинхронно, а затем сделать io_service::post к вашей собственной ленте событий, но вам нужно написать нашу собственную оболочку, обработчики завершения и так далее, чтобы управлять этим.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]