in mbp-only/src/main/java/com/epam/cme/mdp3/core/control/InstrumentMdHandler.java [122:192]
public void handleSnapshotFullRefreshEntries(final MdpFeedContext feedContext, final MdpMessage fullRefreshMsg) {
if (!this.enabled) return;
MdpGroup mdpGroupObj = feedContext.getMdpGroupObj();
fullRefreshMsg.getGroup(268, mdpGroupObj);
while (mdpGroupObj.hashNext()) {
mdpGroupObj.next();
final MDEntryType mdEntryType = MDEntryType.fromFIX(mdpGroupObj.getChar(269));
switch (mdEntryType) {
case Bid:
if (this.multipleDepthBookHandler != null)
this.multipleDepthBookHandler.handleSnapshotBidEntry(mdpGroupObj);
break;
case Offer:
if (this.multipleDepthBookHandler != null)
this.multipleDepthBookHandler.handleSnapshotOfferEntry(mdpGroupObj);
break;
case Trade:
if (this.tradeHandler != null) this.tradeHandler.updateTradeSummary(mdpGroupObj);
break;
case OpeningPrice:
if (this.statisticsHandler != null) this.statisticsHandler.updateOpeningPrice(mdpGroupObj);
break;
case SettlementPrice:
if (this.statisticsHandler != null) this.statisticsHandler.updateSettlementPrice(mdpGroupObj);
break;
case TradingSessionHighPrice:
if (this.statisticsHandler != null)
this.statisticsHandler.updateTradingSessionHighPrice(mdpGroupObj);
break;
case TradingSessionLowPrice:
if (this.statisticsHandler != null)
this.statisticsHandler.updateTradingSessionLowPrice(mdpGroupObj);
break;
case TradeVolume:
if (this.statisticsHandler != null) this.statisticsHandler.updateTradeVolume(mdpGroupObj);
break;
case OpenInterest:
if (this.statisticsHandler != null) this.statisticsHandler.updateOpenInterest(mdpGroupObj);
break;
case ImpliedBid:
if (this.impliedBookHandler != null) this.impliedBookHandler.handleSnapshotBidEntry(mdpGroupObj);
break;
case ImpliedOffer:
if (this.impliedBookHandler != null) this.impliedBookHandler.handleSnapshotOfferEntry(mdpGroupObj);
break;
case SessionHighBid:
if (this.statisticsHandler != null) this.statisticsHandler.updateSessionHighBid(mdpGroupObj);
break;
case SessionLowOffer:
if (this.statisticsHandler != null) this.statisticsHandler.updateSessionLowOffer(mdpGroupObj);
break;
case FixingPrice:
if (this.statisticsHandler != null) this.statisticsHandler.updateFixingPrice(mdpGroupObj);
break;
case ElectronicVolume:
if (this.tradeHandler != null) this.tradeHandler.updateElectronicVolume(mdpGroupObj);
break;
case ThresholdLimitsandPriceBandVariation:
if (this.statisticsHandler != null)
this.statisticsHandler.updateThresholdLimitsAndPriceBandVariation(mdpGroupObj);
break;
default:
throw new IllegalStateException();
}
}
if (this.multipleDepthBookHandler != null)
this.channelContext.notifyBookFullRefresh(this.multipleDepthBookHandler);
if (this.impliedBookHandler != null) this.channelContext.notifyImpliedBookFullRefresh(this.impliedBookHandler);
}