in mbp-only/src/main/java/com/epam/cme/mdp3/core/channel/ChannelInstruments.java [60:81]
public void onMessage(final MdpFeedContext feedContext, final MdpMessage secDefMsg) {
final int subscriptionFlags = this.channelContext.notifySecurityDefinitionListeners(secDefMsg);
final byte depth = extractMaxDepthFromSecDef(secDefMsg);
if (!MdEventFlags.isNothing(subscriptionFlags)) {
registerSecurity(secDefMsg, subscriptionFlags, depth);
} else {
final int securityId = secDefMsg.getInt32(SEC_ID_TAG);
final SbeString strValObj = feedContext.getStrValObj();
boolean hasValue = secDefMsg.getString(SEC_DESC_TAG, strValObj);
if (hasValue) {
updateSecDesc(securityId, secDescString.getString());
}
}
if (this.msgCountDown.get() == PRCD_MSG_COUNT_NULL) {
final int totalNumReports = getTotalReportNum(secDefMsg) * INSTRUMENT_CYCLES_MAX;
this.msgCountDown.compareAndSet(PRCD_MSG_COUNT_NULL, totalNumReports);
}
final int msgLeft = this.msgCountDown.decrementAndGet();
if (canStopInstrumentListening(msgLeft)) {
channelContext.stopInstrumentFeeds();
}
}