Beispiel #1
0
            public void onMsg(
                MamaSubscription subscription,
                MamaMsg msg)
            {
                mamaMsgType   msgType   = msg.typeForMsg();
                mamaMsgStatus msgStatus = msg.getStatus();

                switch (msgType)
                {
                case mamaMsgType.MAMA_MSG_TYPE_DELETE:
                case mamaMsgType.MAMA_MSG_TYPE_EXPIRE:
                    subscription.deallocate();
                    return;
                }

                switch (msgStatus)
                {
                case mamaMsgStatus.MAMA_MSG_STATUS_BAD_SYMBOL:
                case mamaMsgStatus.MAMA_MSG_STATUS_EXPIRED:
                case mamaMsgStatus.MAMA_MSG_STATUS_TIMEOUT:
                    subscription.deallocate();
                    return;
                }

                for (int i = 0; i < mSubscription.mMsgListeners.Count; i++)
                {
                    MamdaMsgListener listener = (MamdaMsgListener)mSubscription.mMsgListeners[i];
                    listener.onMsg(mSubscription, msg, msgType);
                }
            }
Beispiel #2
0
        /// <summary>
        /// Returns the respective MamdaErrorCode for a mamaMsgStatus code
        /// </summary>
        /// <param name="wombatStatus">mamaMsgStatus</param>
        /// <returns>The respective MamdaErrorCode</returns>
        public static MamdaErrorCode codeForMamaMsgStatus(mamaMsgStatus wombatStatus)
        {
            switch (wombatStatus)
            {
            case mamaMsgStatus.MAMA_MSG_STATUS_OK:                  return(MamdaErrorCode.MAMDA_NO_ERROR);

            case mamaMsgStatus.MAMA_MSG_STATUS_LINE_DOWN:           return(MamdaErrorCode.MAMDA_ERROR_LINE_DOWN);

            case mamaMsgStatus.MAMA_MSG_STATUS_NO_SUBSCRIBERS:      return(MamdaErrorCode.MAMDA_ERROR_NO_SUBSCRIBERS);

            case mamaMsgStatus.MAMA_MSG_STATUS_BAD_SYMBOL:          return(MamdaErrorCode.MAMDA_ERROR_BAD_SYMBOL);

            case mamaMsgStatus.MAMA_MSG_STATUS_EXPIRED:             return(MamdaErrorCode.MAMDA_ERROR_EXPIRED);

            case mamaMsgStatus.MAMA_MSG_STATUS_TIMEOUT:             return(MamdaErrorCode.MAMDA_ERROR_TIMEOUT);

            case mamaMsgStatus.MAMA_MSG_STATUS_MISC:                return(MamdaErrorCode.MAMDA_ERROR_MISC);

            case mamaMsgStatus.MAMA_MSG_STATUS_STALE:               return(MamdaErrorCode.MAMDA_ERROR_STALE);

            case mamaMsgStatus.MAMA_MSG_STATUS_PLATFORM_STATUS:     return(MamdaErrorCode.MAMDA_ERROR_PLATFORM_STATUS);

            case mamaMsgStatus.MAMA_MSG_STATUS_NOT_ENTITLED:        return(MamdaErrorCode.MAMDA_ERROR_NOT_ENTITLED);

            case mamaMsgStatus.MAMA_MSG_STATUS_NOT_FOUND:           return(MamdaErrorCode.MAMDA_ERROR_NOT_FOUND);

            case mamaMsgStatus.MAMA_MSG_STATUS_POSSIBLY_STALE:      return(MamdaErrorCode.MAMDA_ERROR_POSSIBLY_STALE);

            case mamaMsgStatus.MAMA_MSG_STATUS_NOT_PERMISSIONED:    return(MamdaErrorCode.MAMDA_ERROR_NOT_PERMISSIONED);

            case mamaMsgStatus.MAMA_MSG_STATUS_TOPIC_CHANGE:        return(MamdaErrorCode.MAMDA_ERROR_TOPIC_CHANGE);

            case mamaMsgStatus.MAMA_MSG_STATUS_BANDWIDTH_EXCEEDED:  return(MamdaErrorCode.MAMDA_ERROR_BANDWIDTH_EXCEEDED);

            default:
                Debug.Assert(false, String.Format("mamaMsgStatus {0} not mapped to an MamdaErrorCode", wombatStatus));
                return(MamdaErrorCode.MAMDA_ERROR_PLATFORM_STATUS);
            }
        }
Beispiel #3
0
 /// <summary>
 /// Return the status string
 /// </summary>
 public string stringForStatus(mamaMsgStatus type)
 {
     EnsurePeerCreated();
     return Marshal.PtrToStringAnsi(NativeMethods.mamaStatus_stringForStatus((int)type));
 }
 /// <summary>
 /// Returns the respective MamdaErrorCode for a mamaMsgStatus code
 /// </summary>
 /// <param name="wombatStatus">mamaMsgStatus</param>
 /// <returns>The respective MamdaErrorCode</returns>
 public static MamdaErrorCode codeForMamaMsgStatus(mamaMsgStatus wombatStatus)
 {
     switch (wombatStatus)
     {
         case mamaMsgStatus.MAMA_MSG_STATUS_OK:                  return MamdaErrorCode.MAMDA_NO_ERROR;
         case mamaMsgStatus.MAMA_MSG_STATUS_LINE_DOWN:           return MamdaErrorCode.MAMDA_ERROR_LINE_DOWN;
         case mamaMsgStatus.MAMA_MSG_STATUS_NO_SUBSCRIBERS:      return MamdaErrorCode.MAMDA_ERROR_NO_SUBSCRIBERS;
         case mamaMsgStatus.MAMA_MSG_STATUS_BAD_SYMBOL:          return MamdaErrorCode.MAMDA_ERROR_BAD_SYMBOL;
         case mamaMsgStatus.MAMA_MSG_STATUS_EXPIRED:             return MamdaErrorCode.MAMDA_ERROR_EXPIRED;
         case mamaMsgStatus.MAMA_MSG_STATUS_TIMEOUT:             return MamdaErrorCode.MAMDA_ERROR_TIMEOUT;
         case mamaMsgStatus.MAMA_MSG_STATUS_MISC:                return MamdaErrorCode.MAMDA_ERROR_MISC;
         case mamaMsgStatus.MAMA_MSG_STATUS_STALE:               return MamdaErrorCode.MAMDA_ERROR_STALE;
         case mamaMsgStatus.MAMA_MSG_STATUS_PLATFORM_STATUS:     return MamdaErrorCode.MAMDA_ERROR_PLATFORM_STATUS;
         case mamaMsgStatus.MAMA_MSG_STATUS_NOT_ENTITLED:        return MamdaErrorCode.MAMDA_ERROR_NOT_ENTITLED;
         case mamaMsgStatus.MAMA_MSG_STATUS_NOT_FOUND:           return MamdaErrorCode.MAMDA_ERROR_NOT_FOUND;
         case mamaMsgStatus.MAMA_MSG_STATUS_POSSIBLY_STALE:      return MamdaErrorCode.MAMDA_ERROR_POSSIBLY_STALE;
         case mamaMsgStatus.MAMA_MSG_STATUS_NOT_PERMISSIONED:    return MamdaErrorCode.MAMDA_ERROR_NOT_PERMISSIONED;
         case mamaMsgStatus.MAMA_MSG_STATUS_TOPIC_CHANGE:        return MamdaErrorCode.MAMDA_ERROR_TOPIC_CHANGE;
         case mamaMsgStatus.MAMA_MSG_STATUS_BANDWIDTH_EXCEEDED:  return MamdaErrorCode.MAMDA_ERROR_BANDWIDTH_EXCEEDED;
         default:
             Debug.Assert(false, String.Format("mamaMsgStatus {0} not mapped to an MamdaErrorCode", wombatStatus));
             return MamdaErrorCode.MAMDA_ERROR_PLATFORM_STATUS;
     }
 }