Beispiel #1
0
        public override void fillArguments(TLVList list)
        {
            int size = list.getList().Count;

            if (size == 0)
            {
                throw new MalformedMessageException("Received malformed SASL-Outcome header: code can't be null");
            }

            if (size > 2)
            {
                throw new MalformedMessageException("Received malformed SASL-Outcome header. Invalid number of arguments: " + size);
            }

            if (size > 0)
            {
                TLVAmqp element = list.getList()[0];
                if (element.isNull())
                {
                    throw new MalformedMessageException("Received malformed SASL-Outcome header: code can't be null");
                }

                _outcomeCode = (OutcomeCodes)AMQPUnwrapper <AMQPSymbol> .unwrapUByte(element);
            }

            if (list.getList().Count > 1)
            {
                TLVAmqp element = list.getList()[1];
                if (!element.isNull())
                {
                    _additionalData = AMQPUnwrapper <AMQPSymbol> .unwrapBinary(element);
                }
            }
        }
Beispiel #2
0
        public override void fillArguments(TLVList list)
        {
            int size = list.getList().Count;

            if (size == 0)
            {
                throw new MalformedMessageException("Received malformed SASL-Challenge header: challenge can't be null");
            }

            if (size > 1)
            {
                throw new MalformedMessageException("Received malformed SASL-Challenge header. Invalid number of arguments: " + size);
            }

            if (size > 0)
            {
                TLVAmqp element = list.getList()[0];
                if (element.isNull())
                {
                    throw new MalformedMessageException("Received malformed SASL-Challenge header: challenge can't be null");
                }

                _challenge = AMQPUnwrapper <AMQPSymbol> .unwrapBinary(element);
            }
        }
 public void fill(TLVAmqp value)
 {
     if (!value.isNull())
     {
         _data = AMQPUnwrapper <AMQPSymbol> .unwrapBinary(value);
     }
 }
        public override void fillArguments(TLVList list)
        {
            int size = list.getList().Count;

            if (size == 0)
            {
                throw new MalformedMessageException("Received malformed SASL-Init header: mechanism can't be null");
            }

            if (size > 3)
            {
                throw new MalformedMessageException("Received malformed SASL-Init header. Invalid number of arguments: " + size);
            }

            if (size > 0)
            {
                TLVAmqp element = list.getList()[0];
                if (element.isNull())
                {
                    throw new MalformedMessageException("Received malformed SASL-Init header: mechanism can't be null");
                }

                _mechanism = AMQPUnwrapper <AMQPSymbol> .unwrapSymbol(element);
            }

            if (size > 1)
            {
                TLVAmqp element = list.getList()[1];
                if (!element.isNull())
                {
                    _initialResponse = AMQPUnwrapper <AMQPSymbol> .unwrapBinary(element);
                }
            }

            if (size > 2)
            {
                TLVAmqp element = list.getList()[2];
                if (!element.isNull())
                {
                    _hostName = AMQPUnwrapper <AMQPSymbol> .unwrapString(element);
                }
            }
        }
Beispiel #5
0
        public override void fillArguments(TLVList list)
        {
            int size = list.getList().Count;

            if (size == 0)
            {
                throw new MalformedMessageException("Received malformed Transfer header: handle can't be null");
            }

            if (size > 11)
            {
                throw new MalformedMessageException("Received malformed Transfer header. Invalid number of arguments: " + size);
            }

            if (size > 0)
            {
                TLVAmqp element = list.getList()[0];
                if (element.isNull())
                {
                    throw new MalformedMessageException("Received malformed Transfer header: handle can't be null");
                }

                _handle = AMQPUnwrapper <SectionCodes> .unwrapUInt(element);
            }

            if (size > 1)
            {
                TLVAmqp element = list.getList()[1];
                if (!element.isNull())
                {
                    _deliveryId = AMQPUnwrapper <SectionCodes> .unwrapUInt(element);
                }
            }

            if (size > 2)
            {
                TLVAmqp element = list.getList()[2];
                if (!element.isNull())
                {
                    _deliveryTag = AMQPUnwrapper <SectionCodes> .unwrapBinary(element);
                }
            }

            if (size > 3)
            {
                TLVAmqp element = list.getList()[3];
                if (!element.isNull())
                {
                    _messageFormat = new AMQPMessageFormat(AMQPUnwrapper <SectionCodes> .unwrapUInt(element));
                }
            }
            if (size > 4)
            {
                TLVAmqp element = list.getList()[4];
                if (!element.isNull())
                {
                    _settled = AMQPUnwrapper <SectionCodes> .unwrapBool(element);
                }
            }

            if (size > 5)
            {
                TLVAmqp element = list.getList()[5];
                if (!element.isNull())
                {
                    _more = AMQPUnwrapper <SectionCodes> .unwrapBool(element);
                }
            }

            if (size > 6)
            {
                TLVAmqp element = list.getList()[6];
                if (!element.isNull())
                {
                    _rcvSettleMode = (ReceiveCodes)(AMQPUnwrapper <SectionCodes> .unwrapUByte(element));
                }
            }

            if (size > 7)
            {
                TLVAmqp element = list.getList()[7];
                if (!element.isNull())
                {
                    AMQPType code = element.Code;
                    if (code != AMQPType.LIST_0 && code != AMQPType.LIST_8 && code != AMQPType.LIST_32)
                    {
                        throw new MalformedMessageException("Expected type 'STATE' - received: " + element.Code);
                    }

                    _state = AMQPFactory.getState((TLVList)element);
                    _state.fill((TLVList)element);
                }
            }

            if (size > 8)
            {
                TLVAmqp element = list.getList()[8];
                if (!element.isNull())
                {
                    _resume = AMQPUnwrapper <SectionCodes> .unwrapBool(element);
                }
            }

            if (size > 9)
            {
                TLVAmqp element = list.getList()[9];
                if (!element.isNull())
                {
                    _aborted = AMQPUnwrapper <SectionCodes> .unwrapBool(element);
                }
            }
            if (size > 10)
            {
                TLVAmqp element = list.getList()[10];
                if (!element.isNull())
                {
                    _batchable = AMQPUnwrapper <SectionCodes> .unwrapBool(element);
                }
            }
        }
        public void fill(TLVAmqp value)
        {
            TLVList list = (TLVList)value;

            if (list.getList().Count > 0)
            {
                TLVAmqp element = list.getList()[0];
                if (!element.isNull())
                {
                    switch (element.Code)
                    {
                    case AMQPType.ULONG_0:
                    case AMQPType.SMALL_ULONG:
                    case AMQPType.ULONG:
                        _messageId = new LongID(AMQPUnwrapper <AMQPSymbol> .unwrapULong(element));
                        break;

                    case AMQPType.STRING_8:
                    case AMQPType.STRING_32:
                        _messageId = new StringID(AMQPUnwrapper <AMQPSymbol> .unwrapString(element));
                        break;

                    case AMQPType.BINARY_8:
                    case AMQPType.BINARY_32:
                        _messageId = new BinaryID(AMQPUnwrapper <AMQPSymbol> .unwrapBinary(element));
                        break;

                    case AMQPType.UUID:
                        _messageId = new UuidID(AMQPUnwrapper <AMQPSymbol> .unwrapUuid(element));
                        break;

                    default:
                        throw new ArgumentException("Expected type 'MessageID' - received: " + element.Code);
                    }
                }
            }
            if (list.getList().Count > 1)
            {
                TLVAmqp element = list.getList()[1];
                if (!element.isNull())
                {
                    _userId = AMQPUnwrapper <AMQPSymbol> .unwrapBinary(element);
                }
            }
            if (list.getList().Count > 2)
            {
                TLVAmqp element = list.getList()[2];
                if (!element.isNull())
                {
                    _to = AMQPUnwrapper <AMQPSymbol> .unwrapString(element);
                }
            }
            if (list.getList().Count > 3)
            {
                TLVAmqp element = list.getList()[3];
                if (!element.isNull())
                {
                    _subject = AMQPUnwrapper <AMQPSymbol> .unwrapString(element);
                }
            }
            if (list.getList().Count > 4)
            {
                TLVAmqp element = list.getList()[4];
                if (!element.isNull())
                {
                    _replyTo = AMQPUnwrapper <AMQPSymbol> .unwrapString(element);
                }
            }
            if (list.getList().Count > 5)
            {
                TLVAmqp element = list.getList()[5];
                if (!element.isNull())
                {
                    _correlationId = AMQPUnwrapper <AMQPSymbol> .unwrapBinary(element);
                }
            }
            if (list.getList().Count > 6)
            {
                TLVAmqp element = list.getList()[6];
                if (!element.isNull())
                {
                    _contentType = AMQPUnwrapper <AMQPSymbol> .unwrapString(element);
                }
            }
            if (list.getList().Count > 7)
            {
                TLVAmqp element = list.getList()[7];
                if (!element.isNull())
                {
                    _contentEncoding = AMQPUnwrapper <AMQPSymbol> .unwrapString(element);
                }
            }
            if (list.getList().Count > 8)
            {
                TLVAmqp element = list.getList()[8];
                if (!element.isNull())
                {
                    _absoluteExpiryTime = AMQPUnwrapper <AMQPSymbol> .unwrapTimestamp(element);
                }
            }
            if (list.getList().Count > 9)
            {
                TLVAmqp element = list.getList()[9];
                if (!element.isNull())
                {
                    _creationTime = AMQPUnwrapper <AMQPSymbol> .unwrapTimestamp(element);
                }
            }
            if (list.getList().Count > 10)
            {
                TLVAmqp element = list.getList()[10];
                if (!element.isNull())
                {
                    _groupId = AMQPUnwrapper <AMQPSymbol> .unwrapString(element);
                }
            }
            if (list.getList().Count > 11)
            {
                TLVAmqp element = list.getList()[11];
                if (!element.isNull())
                {
                    _groupSequence = AMQPUnwrapper <AMQPSymbol> .unwrapUInt(element);
                }
            }
            if (list.getList().Count > 12)
            {
                TLVAmqp element = list.getList()[12];
                if (!element.isNull())
                {
                    _replyToGroupId = AMQPUnwrapper <AMQPSymbol> .unwrapString(element);
                }
            }
        }