В моем приложении сервер регистрируется в сети, которая уведомляет обратный вызов при появлении новой информации. Сетевой регистратор блокирует, так что я запускаю этот код с blockHandler. Проблема в том, что для регистрации требуется обратный вызов как параметр, и я хочу запустить обратный вызов в цикле событий. как мне это сделать? Сетевой код не может быть изменен.код запуска в цикле событий из blockingHandler в vertx
vertex.executeBlocking(event->{
network.registart(new CallBack(){
public void newData(Data d)
{
runThisCodeInEventLoop(); // I want to run this code in the event loop.
event.complete();
}
},false,ev->{
....some code...
}
}
Вы уверены, что метод 'registart' блокирует? Это кажется неблокирующим, поскольку для этого требуется обратный вызов. – tsegismont
Возможно, просто запустите его в обработчике результатов? – zella
Поступление данных происходит с помощью обратного вызова и неблокирования, но регистр в сети блокируется, так как для подключения требуется секунда. о обработчике результатов - можете ли вы объяснить? – user1137582