No subject
Thu Mar 14 15:04:54 GMT 2013
<quote>
- The property flags are an array of bits that indicate the presence or
absence of each property value in sequence. The bits are ordered from most
high to low - bit 15 indicates the first property.
- The property flags can specify more than 16 properties. If the last bit
(0) is set, this indicates that a further property flags field follows.
There are many property flags fields as needed.
- The property values are class-specific AMQP data fields.
- Bit properties are indicated ONLY by their respective property flag (1 or
0) and are never present in the property list.
</quote>
I'm sorry for asking you silly questions. But how it influence on the
interpretation of binary?
For example.
Client application receives
Basic.deliver
| type (octet)| channel (short)| size (long)| class-id(short) | method-id
(short) | payload | frame-end (octet) |
Binary:
| 0x01 | 0x0042 | 0x00000032 | 0x003C | 0x0028 | Basic.deliver payload |
0xCE |
And the content comes:
| type (octet)| channel (short)| size (long)| class-id(short) | weight
(short) | body-size (long long) | property-flags (2 octets ) | property
list |
Binary
| 0x02 | 0x0042 | 0x0000000E + Z | 0x003C | 0x0000 | body-size = 16 |
PROPERTY_FLAGS | Z octets | 0xCE |
So if PROPERTY_FLAGS = 0x0000 what is in Z image, how to interpret it?
if PROPERTY_FLAGS = 0x0080 or PROPERTY_FLAGS = whatever (0x0 <= whatever
=< 0xFFFF)
I've looked at other clients implementation. For Ruby I found some tips in
http://rubydoc.info/github/ruby-amqp/amq-protocol/master/AMQ/Protocol/Basic
But where these constants came from?
Are they documented? or it's just peer2peer knowledge?
Or are they client2client meaningful and it's up to them to make an
agreement on their meaning and way of interpretation?
Thanx
On Wednesday, August 14, 2013 12:58:51 AM UTC+3, Nicolai G. wrote:
>
> Hello!
>
> I try to implement yet another amqp-client (on C++, heavily integrated
> with our base frameworks). And I've come to the point of interpreting the
> content header payload, and I cannot find clear description of the
> relationship between property-flags and property-list. If I got
> F1%b1,F2%b1, ... ,Fn%b0 in property-flags, what *amqp-field sequence I MUST
> expect in property-list?
>
> Can anyone, please, point me on any doc where I can find this information?
>
> Best regards,
> Nicolai
>
------=_Part_21_17765123.1376552056654
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit
<div dir="ltr"><div><div>I read the spec, and this particular segment I've read very attentively:<br>From AMQP 0-9-1, s 4.2.6.1 "The Content Header"<br>
<br>
<quote><br>
- The property flags are an array of bits that indicate the presence or
absence of each property value in sequence. The bits are ordered from
most high to low - bit 15 indicates the first property.<br>
<br>
- The property flags can specify more than 16 properties. If the last
bit (0) is set, this indicates that a further property flags field
follows. There are many property flags fields as needed.<br>
<br>
- The property values are class-specific AMQP data fields.<br>
<br>
- Bit properties are indicated ONLY by their respective property flag (1 or 0) and are never present in the property list.<br>
</quote><br><br>I'm sorry for asking you silly questions. But how it influence on the interpretation of binary?<br><br></div>For example.<br>
</div>Client application receives <br>Basic.deliver<br><div>| type (octet)| channel (short)| size (long)| class-id(short) | method-id (short) | payload | frame-end (octet) |<br><br></div><div>Binary:<br></div><div>| 0x01 | 0x0042 | 0x00000032 | 0x003C | 0x0028 | Basic.deliver payload | 0xCE |<br>
<br></div><div>And the content comes:<br><br>| type (octet)| channel
(short)| size (long)| class-id(short) | weight (short) | body-size
(long long) | property-flags (2 octets ) | property list |<br></div><div><br>Binary<br>
</div><div>| 0x02 | 0x0042 | 0x0000000E + Z | 0x003C | 0x0000 | body-size = 16 | PROPERTY_FLAGS | Z octets | 0xCE |<br></div><div><br></div><div>So if PROPERTY_FLAGS = 0x0000 what is in Z image, how to interpret it?<br></div>
<div><br></div><div>if PROPERTY_FLAGS = 0x0080 or PROPERTY_FLAGS = whatever (0x0 <= whatever =< 0xFFFF)<br><br></div><div>I've looked at other clients implementation. For Ruby I found some tips in <a href="http://rubydoc.info/github/ruby-amqp/amq-protocol/master/AMQ/Protocol/Basic" target="_blank">http://rubydoc.info/github/<wbr>ruby-amqp/amq-protocol/master/<wbr>AMQ/Protocol/Basic</a><br>
</div><div>But where these constants came from? <br></div><div>Are they documented? or it's just peer2peer knowledge?<br></div><div><br></div>Or are they client2client meaningful and it's up to them to make an agreement on their meaning and way of interpretation?<div>
<br></div>Thanx<br><br>On Wednesday, August 14, 2013 12:58:51 AM UTC+3, Nicolai G. wrote:<blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir="ltr">Hello!<br><br>I try to implement yet another amqp-client (on C++, heavily integrated with our base frameworks). And I've come to the point of interpreting the content header payload, and I cannot find clear description of the relationship between property-flags and property-list. If I got F1%b1,F2%b1, ... ,Fn%b0 in property-flags, what *amqp-field sequence I MUST expect in property-list?<br><br>Can anyone, please, point me on any doc where I can find this information?<br><br>Best regards,<br>Nicolai<br></div></blockquote></div>
------=_Part_21_17765123.1376552056654--
------=_Part_20_28923711.1376552056654--
More information about the rabbitmq-discuss
mailing list