private void flushSnapshot()

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);
            }
        }
    }