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); }
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)); }
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); }
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)); }