Esempio n. 1
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);
        }
Esempio n. 2
0
        public static AmqpSymbol Decode(ByteBuffer buffer, FormatCode formatCode)
        {
            if (formatCode == 0 && (formatCode = AmqpEncoding.ReadFormatCode(buffer)) == FormatCode.Null)
            {
                return(new AmqpSymbol());
            }

            int count = 0;

            AmqpEncoding.ReadCount(buffer, formatCode, FormatCode.Symbol8, FormatCode.Symbol32, out count);
            ArraySegment <byte> bytes = buffer.GetBytes(count);

            return(Encoding.ASCII.GetString(bytes.Array, bytes.Offset, count));
        }
Esempio n. 3
0
        public static ArraySegment <byte> Decode(ByteBuffer buffer, FormatCode formatCode)
        {
            if (formatCode == 0 && (formatCode = AmqpEncoding.ReadFormatCode(buffer)) == FormatCode.Null)
            {
                return(AmqpConstants.EmptyBinary);
            }

            int count;

            AmqpEncoding.ReadCount(buffer, formatCode, FormatCode.Binary8, FormatCode.Binary32, out count);
            ArraySegment <byte> value = new ArraySegment <byte>(buffer.Buffer, buffer.Offset, count);

            buffer.Complete(count);
            return(value);
        }
Esempio n. 4
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));
        }