in src/main/java/org/openvasp/client/session/impl/AbstractSession.java [108:124]
public Optional<VaspMessage> takeIncomingMessage(long timeout) {
incomingQueueLock.lock();
try {
if (!incomingQueue.isEmpty()) {
return Optional.of(incomingQueue.remove());
} else {
return hasNewMessages.await(timeout, TimeUnit.MILLISECONDS)
? Optional.of(incomingQueue.remove())
: Optional.empty();
}
} catch (InterruptedException ex) {
Thread.currentThread().interrupt();
return Optional.empty();
} finally {
incomingQueueLock.unlock();
}
}