in orderbook-core/src/main/java/com/epam/deltix/orderbook/core/impl/OrderBookDecorator.java [126:150]
private boolean updateOrderBook(final PackageHeaderInfo msg) {
try {
if (!isValid(msg)) {
// TODO add logger
return false;
} else if (isIncrementalUpdate(msg.getPackageType())) {
final ObjectList<BaseEntryInfo> entries = msg.getEntries();
boolean isProcess = true;
for (int i = 0; i < entries.size(); i++) {
final BaseEntryInfo pck = entries.get(i);
if (!processor.processIncrementalUpdate(msg, pck)) {
isProcess = false;
}
}
return isProcess;
} else if (isSnapshot(msg.getPackageType())) {
return processor.processSnapshot(msg);
}
} catch (final Throwable e) {
throw new Error("Error processing market data entries:: " + msg.getEntries() +
" Book state: ASK: size: " + getMarketSide(QuoteSide.ASK).depth() +
" BID: size: " + getMarketSide(QuoteSide.BID).depth(), e);
}
return false;
}