No subject


Thu Mar 14 15:04:54 GMT 2013


<quote>
- The property flags are an array of bits that indicate the presence or=20
absence of each property value in sequence. The bits are ordered from most=
=20
high to low - bit 15 indicates the first property.

- The property flags can specify more than 16 properties. If the last bit=
=20
(0) is set, this indicates that a further property flags field follows.=20
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=
=20
0) and are never present in the property list.
</quote>

I'm sorry for asking you silly questions. But how it influence on the=20
interpretation of binary?

For example.
Client application receives=20
Basic.publish
| type (octet)| channel (short)| size (long)|  class-id(short) | method-id=
=20
(short) | payload | frame-end (octet) |

Binary:
| 0x01 | 0x0042 | 0x00000032 | 0x003C | 0x0028 |  Basic.publish payload |=
=20
0xCE |

And the content comes:

| type (octet)| channel (short)| size (long)|  class-id(short) | weight=20
(short) | body-size (long long) | property-flags (2 octets ) | property=20
list |

Binary
| 0x02 | 0x0042 | 0x0000000E + Z | 0x003C | 0x0000 |  body-size =3D 16 |=20
PROPERTY_FLAGS | Z octets | 0xCE |

So if PROPERTY_FLAGS =3D 0x0000 what is in Z image, how to interpret it?

if PROPERTY_FLAGS =3D 0x0080 or PROPERTY_FLAGS =3D whatever  (0x0 <=3D what=
ever=20
=3D< 0xFFFF)

I've looked at other clients implementation. For Ruby I found some tips in=
=20
http://rubydoc.info/github/ruby-amqp/amq-protocol/master/AMQ/Protocol/Basic
But where these constants came from?=20
Are they documented? or it's just peer2peer knowledge?

Or are they client2client meaningful and it's up to them to make an=20
agreement on their meaning and way of interpretation?

Thanx

=D1=81=D1=80=D0=B5=D0=B4=D0=B0, 14 =D0=B0=D0=B2=D0=B3=D1=83=D1=81=D1=82=D0=
=B0 2013 =D0=B3., 0:58:51 UTC+3 =D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=
=D0=B0=D1=82=D0=B5=D0=BB=D1=8C Nicolai G. =D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=
=B0=D0=BB:
>
> Hello!
>
> I try to implement yet another amqp-client (on C++, heavily integrated=20
> with our base frameworks). And I've come to the point of interpreting the=
=20
> content header payload, and I cannot find clear description of the=20
> relationship between property-flags and property-list. If I got=20
> F1%b1,F2%b1, ... ,Fn%b0 in property-flags, what *amqp-field sequence I MU=
ST=20
> expect in property-list?
>
> Can anyone, please, point me on any doc where I can find this information=
?
>
> Best regards,
> Nicolai
>

------=_Part_2991_24962191.1376551482340
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><div>I read the spec, and this particular segment I'v=
e read very attentively:<br>From AMQP 0-9-1, s 4.2.6.1 "The Content Header"=
<br>
<br>
&lt;quote&gt;<br>
- The property flags are an array of bits that indicate the presence or=20
absence of each property value in sequence. The bits are ordered from=20
most high to low - bit 15 indicates the first property.<br>
<br>
- The property flags can specify more than 16 properties. If the last=20
bit (0) is set, this indicates that a further property flags field=20
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>
&lt;/quote&gt;<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.publish<br><div>| type (octet)|=
 channel (short)| size (long)|&nbsp; class-id(short) | method-id (short) | =
payload | frame-end (octet) |<br><br></div><div>Binary:<br></div><div>| 0x0=
1 | 0x0042 | 0x00000032 | 0x003C | 0x0028 |&nbsp; Basic.publish payload | 0=
xCE |<br>
<br></div><div>And the content comes:<br><br>| type (octet)| channel=20
(short)| size (long)|&nbsp; class-id(short) | weight (short) | body-size=20
(long long) | property-flags (2 octets ) | property list |<br></div><div><b=
r>Binary<br>
</div><div>| 0x02 | 0x0042 | 0x0000000E + Z | 0x003C | 0x0000 |&nbsp; body-=
size =3D 16 | PROPERTY_FLAGS | Z octets | 0xCE |<br></div><div><br></div><d=
iv>So if PROPERTY_FLAGS =3D 0x0000 what is in Z image, how to interpret it?=
<br></div>
<div><br></div><div>if PROPERTY_FLAGS =3D 0x0080 or PROPERTY_FLAGS =3D what=
ever&nbsp; (0x0 &lt;=3D whatever =3D&lt; 0xFFFF)<br><br></div><div>I've loo=
ked at other clients implementation. For Ruby I found some tips in <a href=
=3D"http://rubydoc.info/github/ruby-amqp/amq-protocol/master/AMQ/Protocol/B=
asic" target=3D"_blank">http://rubydoc.info/github/<wbr>ruby-amqp/amq-proto=
col/master/<wbr>AMQ/Protocol/Basic</a><br>
</div><div>But where these constants came from? <br></div><div>Are they doc=
umented? or it's just peer2peer knowledge?<br></div><div><br></div>Or are t=
hey client2client meaningful and it's up to them to make an agreement on th=
eir meaning and way of interpretation?<div>
<br></div>Thanx<br><br>=D1=81=D1=80=D0=B5=D0=B4=D0=B0, 14 =D0=B0=D0=B2=D0=
=B3=D1=83=D1=81=D1=82=D0=B0 2013&nbsp;=D0=B3., 0:58:51 UTC+3 =D0=BF=D0=BE=
=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D1=8C Nicolai G. =D0=
=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0=D0=BB:<blockquote class=3D"gmail_quote" s=
tyle=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-le=
ft: 1ex;"><div dir=3D"ltr">Hello!<br><br>I try to implement yet another amq=
p-client (on C++, heavily integrated with our base frameworks). And I've co=
me to the point of interpreting the content header payload, and I cannot fi=
nd clear description of the relationship between property-flags and propert=
y-list. If I got F1%b1,F2%b1, ... ,Fn%b0 in property-flags, what *amqp-fiel=
d 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>N=
icolai<br></div></blockquote></div>
------=_Part_2991_24962191.1376551482340--

------=_Part_2990_17542345.1376551482339--


More information about the rabbitmq-discuss mailing list