protected override void PopulateMethodBodyFromBuffer(ByteBuffer buffer) { ChannelMax = buffer.GetUInt16(); FrameMax = buffer.GetUInt32(); Heartbeat = buffer.GetUInt16(); }
protected override void PopulateMethodBodyFromBuffer(ByteBuffer buffer) { ReplyCode = buffer.GetUInt16(); ReplyText = EncodingUtils.ReadShortString(buffer); ClassId = buffer.GetUInt16(); MethodId = buffer.GetUInt16(); }
public void PopulateFromBuffer(ByteBuffer buffer, uint size) { ClassId = buffer.GetUInt16(); Weight = buffer.GetUInt16(); BodySize = buffer.GetUInt64(); ushort propertyFlags = buffer.GetUInt16(); ContentHeaderPropertiesFactory factory = ContentHeaderPropertiesFactory.GetInstance(); Properties = factory.CreateContentHeaderProperties(ClassId, propertyFlags, buffer); }
protected override void PopulateMethodBodyFromBuffer(ByteBuffer buffer) { ReplyCode = buffer.GetUInt16(); ReplyText = EncodingUtils.ReadShortString(buffer); Details = EncodingUtils.ReadFieldTable(buffer); }
protected override void PopulateMethodBodyFromBuffer(ByteBuffer buffer) { PrefetchSize = buffer.GetUInt32(); PrefetchCount = buffer.GetUInt16(); bool[] bools = EncodingUtils.ReadBooleans(buffer);Global = bools[0]; }
protected override void PopulateMethodBodyFromBuffer(ByteBuffer buffer) { Ticket = buffer.GetUInt16(); Queue = EncodingUtils.ReadShortString(buffer); bool[] bools = EncodingUtils.ReadBooleans(buffer);Nowait = bools[0]; }
protected override void PopulateMethodBodyFromBuffer(ByteBuffer buffer) { ReplyCode = buffer.GetUInt16(); ReplyText = EncodingUtils.ReadShortString(buffer); Exchange = EncodingUtils.ReadShortString(buffer); RoutingKey = EncodingUtils.ReadShortString(buffer); }
public MessageDecoderResult Decodable(ByteBuffer input) { if (_disabled) { return MessageDecoderResult.NOT_OK; } // final +1 represents the command end which we know we must require even // if there is an empty body if (input.Remaining < 1) { return MessageDecoderResult.NEED_DATA; } byte type = input.GetByte(); // we have to check this isn't a protocol initiation frame here - we can't tell later on and we end up // waiting for more data. This could be improved if MINA supported some kind of state awareness when decoding if ((char)type == 'A') { _logger.Error("Received what appears to be a protocol initiation frame"); return MessageDecoderResult.NOT_OK; } // zero, channel, body size and end byte if (input.Remaining < (1 + 2 + 4 + 1)) { return MessageDecoderResult.NEED_DATA; } int channel = input.GetUInt16(); long bodySize = input.GetUInt32(); // bodySize can be zero if (type <= 0 || channel < 0 || bodySize < 0) { _logger.Error(String.Format("Error decoding frame: Type={0}, Channel={1}, BodySize={2}", type, channel, bodySize)); return MessageDecoderResult.NOT_OK; } if (input.Remaining < (bodySize + 1)) { return MessageDecoderResult.NEED_DATA; } if (IsSupportedFrameType(type)) { if (_logger.IsDebugEnabled) { // we have read 7 bytes so far, so output 7 + bodysize + 1 (for end byte) to get complete data block size // this logging statement is useful when looking at exactly what size of data is coming in/out // the broker _logger.Debug("Able to decode data block of size " + (bodySize + 8)); } return MessageDecoderResult.OK; } else { return MessageDecoderResult.NOT_OK; } }
protected override void PopulateMethodBodyFromBuffer(ByteBuffer buffer) { Integer1 = buffer.GetByte(); Integer2 = buffer.GetUInt16(); Integer3 = buffer.GetUInt32(); Integer4 = buffer.GetUInt64(); Operation = buffer.GetByte(); }
protected override void PopulateMethodBodyFromBuffer(ByteBuffer buffer) { Ticket = buffer.GetUInt16(); Exchange = EncodingUtils.ReadShortString(buffer); RoutingKey = EncodingUtils.ReadShortString(buffer); bool[] bools = EncodingUtils.ReadBooleans(buffer);Mandatory = bools[0]; Immediate = bools[1]; }
protected override void PopulateMethodBodyFromBuffer(ByteBuffer buffer) { Ticket = buffer.GetUInt16(); Queue = EncodingUtils.ReadShortString(buffer); Exchange = EncodingUtils.ReadShortString(buffer); RoutingKey = EncodingUtils.ReadShortString(buffer); bool[] bools = EncodingUtils.ReadBooleans(buffer);Nowait = bools[0]; Arguments = EncodingUtils.ReadFieldTable(buffer); }
protected override void PopulateMethodBodyFromBuffer(ByteBuffer buffer) { Ticket = buffer.GetUInt16(); Queue = EncodingUtils.ReadShortString(buffer); ConsumerTag = EncodingUtils.ReadShortString(buffer); bool[] bools = EncodingUtils.ReadBooleans(buffer);NoLocal = bools[0]; Exclusive = bools[1]; Nowait = bools[2]; }
protected override void PopulateMethodBodyFromBuffer(ByteBuffer buffer) { Ticket = buffer.GetUInt16(); Queue = EncodingUtils.ReadShortString(buffer); bool[] bools = EncodingUtils.ReadBooleans(buffer);Passive = bools[0]; Durable = bools[1]; Exclusive = bools[2]; AutoDelete = bools[3]; Nowait = bools[4]; Arguments = EncodingUtils.ReadFieldTable(buffer); }
/// <summary> /// Creates the body. /// </summary> /// <param name="inbuf">The ByteBuffer containing data from the network</param> /// <returns></returns> /// <exception>AMQFrameDecodingException</exception> public IBody CreateBody(ByteBuffer inbuf) { return MethodBodyDecoderRegistry.Get(inbuf.GetUInt16(), inbuf.GetUInt16()); }
public static ushort ReadUnsignedShort(ByteBuffer buffer) { return buffer.GetUInt16(); }
protected Object CreateAndPopulateFrame(ByteBuffer input) { byte type = input.GetByte(); ushort channel = input.GetUInt16(); uint bodySize = input.GetUInt32(); IBodyFactory bodyFactory = (IBodyFactory)_supportedBodies[type]; if (bodyFactory == null) { throw new AMQFrameDecodingException("Unsupported body type: " + type); } AMQFrame frame = new AMQFrame(); frame.PopulateFromBuffer(input, channel, bodySize, bodyFactory); byte marker = input.GetByte(); if (marker != 0xCE) { throw new FormatException("marker is not 0xCE"); } return frame; }
protected override void PopulateMethodBodyFromBuffer(ByteBuffer buffer) { Ticket = buffer.GetUInt16(); }