private void handleIncrementalMessages()

in mbp-only/src/main/java/com/epam/cme/mdp3/core/control/ChannelController.java [163:196]


    private void handleIncrementalMessages(final MdpFeedContext feedContext, final long msgSeqNum, final MdpPacket mdpPacket) {
        final Iterator<MdpMessage> mdpMessageIterator = mdpPacket.iterator();
        while (mdpMessageIterator.hasNext()) {
            final MdpMessage mdpMessage = mdpMessageIterator.next();

            final MdpMessageType messageType = mdpMessageTypes.getMessageType(mdpMessage.getSchemaId());
            mdpMessage.setMessageType(messageType);

            if (messageType.getSemanticMsgType() == SemanticMsgType.MarketDataIncrementalRefresh) {
                final short matchEventIndicator = mdpMessage.getUInt8(SbeConstants.MATCHEVENTINDICATOR_TAG);
                handleMarketDataIncrementalRefresh(feedContext, mdpMessage, msgSeqNum, matchEventIndicator);
                if (channelContext.hasMdListeners() && MatchEventIndicator.hasEndOfEvent(matchEventIndicator)) {
                    this.eventController.commit(this.eventCommitFunction);
                }
            } else if (messageType.getSemanticMsgType() == SemanticMsgType.QuoteRequest) {
                this.requestForQuoteHandler.handle(feedContext, mdpMessage);
            } else if (messageType.getSemanticMsgType() == SemanticMsgType.SecurityStatus) {
                final short matchEventIndicator = mdpMessage.getUInt8(SbeConstants.MATCHEVENTINDICATOR_TAG);
                this.securityStatusHandler.handle(mdpMessage, matchEventIndicator);
                if (channelContext.hasMdListeners() && MatchEventIndicator.hasEndOfEvent(matchEventIndicator)) {
                    this.eventController.commit(this.eventCommitFunction);
                }
            } else if (messageType.getSemanticMsgType() == SemanticMsgType.SecurityDefinition) {
                this.channelContext.getInstruments().onMessage(feedContext, mdpMessage);
            } else {
                logger.trace("Message has been ignored due to its SemanticMsgType '{}'", messageType.getSemanticMsgType());
            }
        }
        if (this.wasChannelResetInPrcdPacket) {
            this.wasChannelResetInPrcdPacket = false;
        } else {
            this.prcdSeqNum = msgSeqNum;
        }
    }