Exemplo n.º 1
0
 public static void VerifyFormatCode(Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode expected, int offset)
 {
     if (formatCode != expected)
     {
         throw AmqpEncoding.GetEncodingException(SRAmqp.AmqpInvalidFormatCode(formatCode, offset));
     }
 }
Exemplo n.º 2
0
        public static string Decode(ByteBuffer buffer, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode)
        {
            int num;

            System.Text.Encoding uTF8;
            if (formatCode == 0)
            {
                Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode1 = AmqpEncoding.ReadFormatCode(buffer);
                formatCode = formatCode1;
                if (formatCode1 == 64)
                {
                    return(null);
                }
            }
            if (formatCode != 161)
            {
                if (formatCode != 177)
                {
                    throw AmqpEncoding.GetEncodingException(SRAmqp.AmqpInvalidFormatCode(formatCode, buffer.Offset));
                }
                num  = (int)AmqpBitConverter.ReadUInt(buffer);
                uTF8 = System.Text.Encoding.UTF8;
            }
            else
            {
                num  = AmqpBitConverter.ReadUByte(buffer);
                uTF8 = System.Text.Encoding.UTF8;
            }
            string str = uTF8.GetString(buffer.Buffer, buffer.Offset, num);

            buffer.Complete(num);
            return(str);
        }
Exemplo n.º 3
0
        public static ArraySegment <byte> Decode(ByteBuffer buffer, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode, bool copy)
        {
            int num;
            ArraySegment <byte> nums;

            if (formatCode == 0)
            {
                Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode1 = AmqpEncoding.ReadFormatCode(buffer);
                formatCode = formatCode1;
                if (formatCode1 == 64)
                {
                    return(AmqpConstants.NullBinary);
                }
            }
            AmqpEncoding.ReadCount(buffer, formatCode, 160, 176, out num);
            if (num == 0)
            {
                return(AmqpConstants.EmptyBinary);
            }
            if (!copy)
            {
                nums = new ArraySegment <byte>(buffer.Buffer, buffer.Offset, num);
            }
            else
            {
                byte[] numArray = new byte[num];
                Buffer.BlockCopy(buffer.Buffer, buffer.Offset, numArray, 0, num);
                nums = new ArraySegment <byte>(numArray, 0, num);
            }
            buffer.Complete(num);
            return(nums);
        }
Exemplo n.º 4
0
        public static IList Decode(ByteBuffer buffer, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode)
        {
            int num;
            int num1;

            if (formatCode == 0)
            {
                Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode1 = AmqpEncoding.ReadFormatCode(buffer);
                formatCode = formatCode1;
                if (formatCode1 == 64)
                {
                    return(null);
                }
            }
            IList objs = new List <object>();

            if (formatCode == 69)
            {
                return(objs);
            }
            AmqpEncoding.ReadSizeAndCount(buffer, formatCode, 192, 208, out num, out num1);
            while (num1 > 0)
            {
                objs.Add(AmqpEncoding.DecodeObject(buffer));
                num1--;
            }
            return(objs);
        }
Exemplo n.º 5
0
 public override object DecodeObject(ByteBuffer buffer, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode)
 {
     if (formatCode == 0)
     {
         return(DescribedEncoding.Decode(buffer, formatCode));
     }
     return(AmqpEncoding.DecodeObject(buffer, formatCode));
 }
Exemplo n.º 6
0
 public static DescribedType Decode(ByteBuffer buffer)
 {
     Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode  = AmqpEncoding.ReadFormatCode(buffer);
     Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode1 = formatCode;
     if (formatCode == 64)
     {
         return(null);
     }
     return(DescribedEncoding.Decode(buffer, formatCode1));
 }
Exemplo n.º 7
0
        private static DescribedType Decode(ByteBuffer buffer, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode)
        {
            if (formatCode != 0)
            {
                throw AmqpEncoding.GetEncodingException(SRAmqp.AmqpInvalidFormatCode(formatCode, buffer.Offset));
            }
            object obj = AmqpEncoding.DecodeObject(buffer);

            return(new DescribedType(obj, AmqpEncoding.DecodeObject(buffer)));
        }
Exemplo n.º 8
0
 public static decimal?Decode(ByteBuffer buffer, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode)
 {
     if (formatCode == 0)
     {
         Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode1 = AmqpEncoding.ReadFormatCode(buffer);
         formatCode = formatCode1;
         if (formatCode1 == 64)
         {
             return(null);
         }
     }
     return(new decimal?(DecimalEncoding.DecodeValue(buffer, formatCode)));
 }
Exemplo n.º 9
0
 public static byte?Decode(ByteBuffer buffer, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode)
 {
     if (formatCode == 0)
     {
         Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode1 = AmqpEncoding.ReadFormatCode(buffer);
         formatCode = formatCode1;
         if (formatCode1 == 64)
         {
             return(null);
         }
     }
     return(new byte?(AmqpBitConverter.ReadUByte(buffer)));
 }
Exemplo n.º 10
0
 public static DateTime?Decode(ByteBuffer buffer, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode)
 {
     if (formatCode == 0)
     {
         Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode1 = AmqpEncoding.ReadFormatCode(buffer);
         formatCode = formatCode1;
         if (formatCode1 == 64)
         {
             return(null);
         }
     }
     return(new DateTime?(TimeStampEncoding.ToDateTime(AmqpBitConverter.ReadLong(buffer))));
 }
Exemplo n.º 11
0
        public static long?Decode(ByteBuffer buffer, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode)
        {
            if (formatCode == 0)
            {
                Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode1 = AmqpEncoding.ReadFormatCode(buffer);
                formatCode = formatCode1;
                if (formatCode1 == 64)
                {
                    return(null);
                }
            }
            int offset = buffer.Offset;

            Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode[] formatCodeArray = new Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode[] { 129, 85 };
            EncodingBase.VerifyFormatCode(formatCode, offset, formatCodeArray);
            return(new long?((formatCode == 85 ? (long)AmqpBitConverter.ReadByte(buffer) : AmqpBitConverter.ReadLong(buffer))));
        }
Exemplo n.º 12
0
        public static T[] Decode <T>(ByteBuffer buffer, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode)
        {
            int num;
            int num1;

            if (formatCode == 0)
            {
                Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode1 = AmqpEncoding.ReadFormatCode(buffer);
                formatCode = formatCode1;
                if (formatCode1 == 64)
                {
                    return(null);
                }
            }
            AmqpEncoding.ReadSizeAndCount(buffer, formatCode, 224, 240, out num, out num1);
            formatCode = AmqpEncoding.ReadFormatCode(buffer);
            return(ArrayEncoding.Decode <T>(buffer, num, num1, formatCode));
        }
Exemplo n.º 13
0
        public static char?Decode(ByteBuffer buffer, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode)
        {
            if (formatCode == 0)
            {
                Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode1 = AmqpEncoding.ReadFormatCode(buffer);
                formatCode = formatCode1;
                if (formatCode1 == 64)
                {
                    return(null);
                }
            }
            string str = char.ConvertFromUtf32(AmqpBitConverter.ReadInt(buffer));

            if (str.Length > 1)
            {
                throw new ArgumentOutOfRangeException(SRClient.ErroConvertingToChar);
            }
            return(new char?(str[0]));
        }
Exemplo n.º 14
0
        public static AmqpSymbol Decode(ByteBuffer buffer, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode)
        {
            int num;

            if (formatCode == 0)
            {
                Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode1 = AmqpEncoding.ReadFormatCode(buffer);
                formatCode = formatCode1;
                if (formatCode1 == 64)
                {
                    return(new AmqpSymbol());
                }
            }
            AmqpEncoding.ReadCount(buffer, formatCode, 163, 179, out num);
            string str = System.Text.Encoding.ASCII.GetString(buffer.Buffer, buffer.Offset, num);

            buffer.Complete(num);
            return(new AmqpSymbol(str));
        }
Exemplo n.º 15
0
        public static AmqpMap Decode(ByteBuffer buffer, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode)
        {
            int num;
            int num1;

            if (formatCode == 0)
            {
                Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode1 = AmqpEncoding.ReadFormatCode(buffer);
                formatCode = formatCode1;
                if (formatCode1 == 64)
                {
                    return(null);
                }
            }
            AmqpEncoding.ReadSizeAndCount(buffer, formatCode, 193, 209, out num, out num1);
            AmqpMap amqpMaps = new AmqpMap();

            MapEncoding.ReadMapValue(buffer, amqpMaps, num, num1);
            return(amqpMaps);
        }
Exemplo n.º 16
0
        public static uint?Decode(ByteBuffer buffer, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode)
        {
            if (formatCode == 0)
            {
                Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode1 = AmqpEncoding.ReadFormatCode(buffer);
                formatCode = formatCode1;
                if (formatCode1 == 64)
                {
                    return(null);
                }
            }
            int offset = buffer.Offset;

            Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode[] formatCodeArray = new Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode[] { 112, 82, 67 };
            EncodingBase.VerifyFormatCode(formatCode, offset, formatCodeArray);
            if (formatCode == 67)
            {
                return(new uint?(0));
            }
            return(new uint?((formatCode == 82 ? (uint)AmqpBitConverter.ReadUByte(buffer) : AmqpBitConverter.ReadUInt(buffer))));
        }
Exemplo n.º 17
0
        public static bool?Decode(ByteBuffer buffer, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode)
        {
            if (formatCode == 0)
            {
                Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode1 = AmqpEncoding.ReadFormatCode(buffer);
                formatCode = formatCode1;
                if (formatCode1 == 64)
                {
                    return(null);
                }
            }
            int offset = buffer.Offset;

            Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode[] formatCodeArray = new Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode[] { 86, 66, 65 };
            EncodingBase.VerifyFormatCode(formatCode, offset, formatCodeArray);
            if (formatCode == 86)
            {
                return(new bool?(AmqpBitConverter.ReadUByte(buffer) != 0));
            }
            return(new bool?((formatCode == 65 ? true : false)));
        }
Exemplo n.º 18
0
        private static T[] Decode <T>(ByteBuffer buffer, int size, int count, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode)
        {
            T[]          tArray   = new T[count];
            EncodingBase encoding = AmqpEncoding.GetEncoding(formatCode);
            object       obj      = null;

            if (formatCode == 0)
            {
                obj        = AmqpEncoding.DecodeObject(buffer);
                formatCode = AmqpEncoding.ReadFormatCode(buffer);
            }
            for (int i = 0; i < count; i++)
            {
                object describedType = encoding.DecodeObject(buffer, formatCode);
                if (obj != null)
                {
                    describedType = new DescribedType(obj, describedType);
                }
                tArray[i] = (T)describedType;
            }
            return(tArray);
        }
Exemplo n.º 19
0
        private static decimal DecodeValue(ByteBuffer buffer, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode)
        {
            decimal num  = new decimal(0);
            byte    num1 = formatCode;

            if (num1 == 116)
            {
                num = DecimalEncoding.DecodeDecimal32(buffer);
            }
            else if (num1 == 132)
            {
                num = DecimalEncoding.DecodeDecimal64(buffer);
            }
            else
            {
                if (num1 != 148)
                {
                    throw AmqpEncoding.GetEncodingException(SRAmqp.AmqpInvalidFormatCode(formatCode, buffer.Offset));
                }
                num = DecimalEncoding.DecodeDecimal128(buffer);
            }
            return(num);
        }
Exemplo n.º 20
0
        public static void VerifyFormatCode(Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode, int offset, params Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode[] expected)
        {
            bool flag = false;

            Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode[] formatCodeArray = expected;
            int num = 0;

            while (num < (int)formatCodeArray.Length)
            {
                if (formatCode != formatCodeArray[num])
                {
                    num++;
                }
                else
                {
                    flag = true;
                    break;
                }
            }
            if (!flag)
            {
                throw AmqpEncoding.GetEncodingException(SRAmqp.AmqpInvalidFormatCode(formatCode, offset));
            }
        }
Exemplo n.º 21
0
 public override object DecodeObject(ByteBuffer buffer, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode)
 {
     return(MapEncoding.Decode(buffer, formatCode));
 }
Exemplo n.º 22
0
 protected EncodingBase(Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode)
 {
     this.formatCode = formatCode;
 }
Exemplo n.º 23
0
 public abstract object DecodeObject(ByteBuffer buffer, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode);
Exemplo n.º 24
0
        public override object DecodeObject(ByteBuffer buffer, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode)
        {
            if (formatCode == 0)
            {
                Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode1 = AmqpEncoding.ReadFormatCode(buffer);
                formatCode = formatCode1;
                if (formatCode1 == 64)
                {
                    return(null);
                }
            }
            int num  = 0;
            int num1 = 0;

            AmqpEncoding.ReadSizeAndCount(buffer, formatCode, 224, 240, out num, out num1);
            formatCode = AmqpEncoding.ReadFormatCode(buffer);
            Array arrays = null;
            byte  num2   = formatCode;

            if (num2 > 152)
            {
                if (num2 > 193)
                {
                    switch (num2)
                    {
                    case 208:
                    {
                        arrays = ArrayEncoding.Decode <IList>(buffer, num, num1, formatCode);
                        return(arrays);
                    }

                    case 209:
                    {
                        break;
                    }

                    default:
                    {
                        if (num2 == 224 || num2 == 240)
                        {
                            arrays = ArrayEncoding.Decode <Array>(buffer, num, num1, formatCode);
                            return(arrays);
                        }
                        else
                        {
                            throw new NotSupportedException(SRClient.NotSupportFrameCode(formatCode));
                        }
                    }
                    }
                }
                else
                {
                    switch (num2)
                    {
                    case 160:
                    {
                        arrays = ArrayEncoding.Decode <ArraySegment <byte> >(buffer, num, num1, formatCode);
                        return(arrays);
                    }

                    case 161:
                    {
                        arrays = ArrayEncoding.Decode <string>(buffer, num, num1, formatCode);
                        return(arrays);
                    }

                    case 162:
                    {
                        throw new NotSupportedException(SRClient.NotSupportFrameCode(formatCode));
                    }

                    case 163:
                    {
                        arrays = ArrayEncoding.Decode <AmqpSymbol>(buffer, num, num1, formatCode);
                        return(arrays);
                    }

                    default:
                    {
                        switch (num2)
                        {
                        case 176:
                        {
                            arrays = ArrayEncoding.Decode <ArraySegment <byte> >(buffer, num, num1, formatCode);
                            return(arrays);
                        }

                        case 177:
                        {
                            arrays = ArrayEncoding.Decode <string>(buffer, num, num1, formatCode);
                            return(arrays);
                        }

                        case 178:
                        {
                            throw new NotSupportedException(SRClient.NotSupportFrameCode(formatCode));
                        }

                        case 179:
                        {
                            arrays = ArrayEncoding.Decode <AmqpSymbol>(buffer, num, num1, formatCode);
                            return(arrays);
                        }

                        default:
                        {
                            switch (num2)
                            {
                            case 192:
                            {
                                arrays = ArrayEncoding.Decode <IList>(buffer, num, num1, formatCode);
                                return(arrays);
                            }

                            case 193:
                            {
                                break;
                            }

                            default:
                            {
                                throw new NotSupportedException(SRClient.NotSupportFrameCode(formatCode));
                            }
                            }
                            break;
                        }
                        }
                        break;
                    }
                    }
                }
                arrays = ArrayEncoding.Decode <AmqpMap>(buffer, num, num1, formatCode);
            }
            else
            {
                if (num2 > 97)
                {
                    switch (num2)
                    {
                    case 112:
                    {
                        arrays = ArrayEncoding.Decode <uint>(buffer, num, num1, formatCode);
                        return(arrays);
                    }

                    case 113:
                    {
                        arrays = ArrayEncoding.Decode <int>(buffer, num, num1, formatCode);
                        return(arrays);
                    }

                    case 114:
                    {
                        arrays = ArrayEncoding.Decode <float>(buffer, num, num1, formatCode);
                        return(arrays);
                    }

                    case 115:
                    {
                        arrays = ArrayEncoding.Decode <char>(buffer, num, num1, formatCode);
                        return(arrays);
                    }

                    default:
                    {
                        switch (num2)
                        {
                        case 128:
                        {
                            arrays = ArrayEncoding.Decode <ulong>(buffer, num, num1, formatCode);
                            return(arrays);
                        }

                        case 129:
                        {
                            break;
                        }

                        case 130:
                        {
                            arrays = ArrayEncoding.Decode <double>(buffer, num, num1, formatCode);
                            return(arrays);
                        }

                        case 131:
                        {
                            arrays = ArrayEncoding.Decode <DateTime>(buffer, num, num1, formatCode);
                            return(arrays);
                        }

                        default:
                        {
                            if (num2 == 152)
                            {
                                arrays = ArrayEncoding.Decode <Guid>(buffer, num, num1, formatCode);
                                return(arrays);
                            }
                            else
                            {
                                throw new NotSupportedException(SRClient.NotSupportFrameCode(formatCode));
                            }
                        }
                        }
                        break;
                    }
                    }
                }
                else
                {
                    switch (num2)
                    {
                    case 80:
                    {
                        arrays = ArrayEncoding.Decode <byte>(buffer, num, num1, formatCode);
                        return(arrays);
                    }

                    case 81:
                    {
                        arrays = ArrayEncoding.Decode <sbyte>(buffer, num, num1, formatCode);
                        return(arrays);
                    }

                    case 82:
                    {
                        arrays = ArrayEncoding.Decode <uint>(buffer, num, num1, formatCode);
                        return(arrays);
                    }

                    case 83:
                    {
                        arrays = ArrayEncoding.Decode <ulong>(buffer, num, num1, formatCode);
                        return(arrays);
                    }

                    case 84:
                    {
                        arrays = ArrayEncoding.Decode <int>(buffer, num, num1, formatCode);
                        return(arrays);
                    }

                    case 85:
                    {
                        break;
                    }

                    case 86:
                    {
                        arrays = ArrayEncoding.Decode <bool>(buffer, num, num1, formatCode);
                        return(arrays);
                    }

                    default:
                    {
                        switch (num2)
                        {
                        case 96:
                        {
                            arrays = ArrayEncoding.Decode <ushort>(buffer, num, num1, formatCode);
                            return(arrays);
                        }

                        case 97:
                        {
                            arrays = ArrayEncoding.Decode <short>(buffer, num, num1, formatCode);
                            return(arrays);
                        }

                        default:
                        {
                            throw new NotSupportedException(SRClient.NotSupportFrameCode(formatCode));
                        }
                        }
                        break;
                    }
                    }
                }
                arrays = ArrayEncoding.Decode <long>(buffer, num, num1, formatCode);
            }
            return(arrays);
        }
Exemplo n.º 25
0
 public static ArraySegment <byte> Decode(ByteBuffer buffer, Microsoft.ServiceBus.Messaging.Amqp.Encoding.FormatCode formatCode)
 {
     return(BinaryEncoding.Decode(buffer, formatCode, true));
 }