in java/ws-server/src/main/java/com/epam/deltix/tbwg/webapp/services/charting/transformations/UniversalL2SnapshotsToPointsTransformation.java [88:119]
private void flushSnapshot(long timestamp, PackageHeader snapshot) {
if (snapshot == null) {
return;
}
ObjectArrayList<BaseEntryInfo> entries = snapshot.getEntries();
if (entries != null && !entries.isEmpty()) {
Arrays.fill(tempAskQuotes, null);
Arrays.fill(tempBidQuotes, null);
for (int i = 0; i < entries.size(); i++) {
BaseEntryInfo entry = entries.get(i);
if (entry instanceof L2EntryNew) {
L2EntryNew l2EntryNew = (L2EntryNew) entry;
short level = l2EntryNew.getLevel();
if (level >= maxLevels) {
continue;
}
if (l2EntryNew.getSide() == QuoteSide.ASK) {
tempAskQuotes[level] = l2EntryNew;
} else if (l2EntryNew.getSide() == QuoteSide.BID) {
tempBidQuotes[level] = l2EntryNew;
}
}
}
for (int i = 0; i < maxLevels; ++i) {
sendQuote(tempAskQuotes[i], timestamp, i, QuoteSide.ASK);
sendQuote(tempBidQuotes[i], timestamp, i, QuoteSide.BID);
}
}
}