public tryDateTime ( Wombat.MamaFieldDescriptor descriptor, System.DateTime &result ) : bool | ||
descriptor | Wombat.MamaFieldDescriptor | |
result | System.DateTime | |
return | bool |
private void updateFundamentalFields(MamaMsg msg) { /* * NOTE: fields which are enums can be pubished as integers if feedhandler * uses mama-publish-enums-as-ints. It may also be possible for a feed to * publish the numerical value as a string. All enumerated fields must be handled * by getting the value based on the field type. */ if (msg.tryDateTime(MamdaFundamentalFields.SRC_TIME, ref mSrcTimeStr)) mSrcTimeStrFieldState = MamdaFieldState.MODIFIED; if (msg.tryDateTime(MamdaFundamentalFields.ACTIVITY_TIME, ref mActTimeStr)) mActTimeStrFieldState = MamdaFieldState.MODIFIED; if (msg.tryString(MamdaFundamentalFields.CORP_ACT_TYPE, ref mCorpActType)) mCorpActTypeFieldState = MamdaFieldState.MODIFIED; if(msg.tryField (MamdaFundamentalFields.DIVIDEND_FREQ, ref mTmpfield)) { mDivFreq = getFieldAsString(mTmpfield); mDivFreqFieldState = MamdaFieldState.MODIFIED; } if (msg.tryString(MamdaFundamentalFields.DIVIDEND_EX_DATE, ref mDivExDate)) mDivExDateFieldState = MamdaFieldState.MODIFIED; if(msg.tryString(MamdaFundamentalFields.DIVIDEND_PAY_DATE, ref mDivPayDate)) mDivPayDateFieldState = MamdaFieldState.MODIFIED; if (msg.tryString(MamdaFundamentalFields.DIVIDEND_REC_DATE, ref mDivRecordDate)) mDivRecordDateFieldState = MamdaFieldState.MODIFIED; if(msg.tryString(MamdaFundamentalFields.DIVIDEND_CURRENCY, ref mDivCurrency)) mDivCurrencyFieldState = MamdaFieldState.MODIFIED; if (msg.tryString(MamdaFundamentalFields.MRKT_SEGM_NATIVE, ref mMrktSegmNative)) mMrktSegmNativeFieldState = MamdaFieldState.MODIFIED; if (msg.tryString(MamdaFundamentalFields.MRKT_SECT_NATIVE, ref mMrktSectNative)) mMrktSectNativeFieldState = MamdaFieldState.MODIFIED; if(msg.tryField (MamdaFundamentalFields.MRKT_SEGMENT, ref mTmpfield)) { mMarketSegment = getFieldAsString(mTmpfield); mMarketSegmentFieldState = MamdaFieldState.MODIFIED; } if(msg.tryField (MamdaFundamentalFields.MRKT_SECTOR, ref mTmpfield)) { mMarketSector = getFieldAsString(mTmpfield); mMarketSectorFieldState = MamdaFieldState.MODIFIED; } if (msg.tryI64 (MamdaFundamentalFields.SHARES_OUT, ref mSharesOut)) mSharesOutFieldState = MamdaFieldState.MODIFIED; if (msg.tryI64 (MamdaFundamentalFields.SHARES_FLOAT, ref mSharesFloat)) mSharesFloatFieldState = MamdaFieldState.MODIFIED; if (msg.tryI64 (MamdaFundamentalFields.SHARES_AUTH, ref mSharesAuth)) mSharesAuthFieldState = MamdaFieldState.MODIFIED; if (msg.tryF64(MamdaFundamentalFields.DIVIDEND_PRICE, ref mDividendPrice)) mDividendPriceFieldState = MamdaFieldState.MODIFIED; if (msg.tryF64(MamdaFundamentalFields.EARN_PER_SHARE, ref mEarnPerShare)) mEarnPerShareFieldState = MamdaFieldState.MODIFIED; if (msg.tryF64(MamdaFundamentalFields.VOLATILITY, ref mVolatility)) mVolatilityFieldState = MamdaFieldState.MODIFIED; if (msg.tryF64(MamdaFundamentalFields.PRICE_EARN_RATIO, ref mPeRatio)) mPeRatioFieldState = MamdaFieldState.MODIFIED; if (msg.tryF64(MamdaFundamentalFields.YIELD, ref mYield)) mYieldFieldState = MamdaFieldState.MODIFIED; if (msg.tryF64(MamdaFundamentalFields.HIST_VOLATILITY, ref mHistVolatility)) mHistVolatilityFieldState = MamdaFieldState.MODIFIED; if (msg.tryF64(MamdaFundamentalFields.RISK_FREE_RATE, ref mRiskFreeRate)) mRiskFreeRateFieldState = MamdaFieldState.MODIFIED; }
private void handleStandardFields( MamdaSubscription subscription, MamaMsg msg, bool checkSeqNum) { long seqNum = 0; msg.tryI64(MamaReservedFields.SeqNum, ref seqNum); ulong senderId = 0; msg.tryU64(MamaReservedFields.SenderId, ref senderId); if (checkSeqNum) { if ((seqNum != 0) && (mSeqNum != (seqNum - 1))) { mGapBegin = mSeqNum + 1; mGapEnd = seqNum - 1; invokeGapHandlers(subscription, msg); if (mFullBook != null && senderId == mPreviousSenderId) { mFullBook.setIsConsistent(false); } } } mSeqNum = seqNum; mPreviousSenderId = senderId; msg.tryI64(MamdaOrderBookFields.SEQNUM, ref mEventSeqNum); msg.tryDateTime(MamdaOrderBookFields.SRC_TIME, ref mSrcTime); msg.tryDateTime(MamdaOrderBookFields.ACTIVITY_TIME, ref mActTime); }
private void handleStandardFields(MamdaSubscription subscription, MamaMsg msg, bool checkSeqNum) { if (mSymbol == null) msg.tryString (MamdaCommonFields.SYMBOL, ref mSymbol); if (mPartId == null) { if ((!msg.tryString (MamdaOrderBookFields.PART_ID, ref mPartId)) && (mSymbol != null)) { // No explicit part ID in message, but maybe in symbol. int lastDot = mSymbol.IndexOf ("."); if (lastDot != -1) { lastDot++; int lastChar = mSymbol.Length; if (lastDot != lastChar) { mPartId = mSymbol.Substring (lastDot, (lastChar-lastDot)); } } } } msg.tryDateTime (MamdaOrderBookFields.SRC_TIME, ref mSrcTime); msg.tryDateTime (MamdaOrderBookFields.ACTIVITY_TIME, ref mActivityTime); msg.tryDateTime (MamdaOrderBookFields.LINE_TIME, ref mLineTime); msg.tryDateTime (MamaReservedFields.SendTime, ref mSendTime); mEventTime = msg.getDateTime (MamdaOrderBookFields.BOOK_TIME, mSrcTime); long seqNum = msg.getI64(MamaReservedFields.SeqNum); if (checkSeqNum && (seqNum != (mEventSeqNum + 1))) { mGapBegin = mEventSeqNum + 1; mGapEnd = seqNum - 1; mEventSeqNum = seqNum; invokeGapHandlers (subscription, msg); } else { mEventSeqNum = seqNum; } }