qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gordon Sim (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (QPID-6330) [C++ Messaging] Server example differences using 0-10 vs 1.0 protocol
Date Wed, 08 Apr 2015 20:09:12 GMT

     [ https://issues.apache.org/jira/browse/QPID-6330?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Gordon Sim closed QPID-6330.
----------------------------
    Resolution: Won't Fix

AMQP 0-10 doesn't define any encodings for the body of a message. The conttent-type header
is supposed to contain a mime type indicating how it is encoded. The qpid 0-10 clients by
convention used amqp/list and amqp/map to inidicate messages whose bodies were encoded as
0-10 lists and maps respectively. No such convention was introduced for other types at the
top level (though lists and maps can of course contain any type). So any other value was encoded
by the c++ client as a single element list.

Now that 1.0 has been released for such a long time, and it includes full support for all
types, I see no value in retroactively updating 0-10 to offer richer encodings.

> [C++ Messaging] Server example differences using 0-10 vs 1.0 protocol
> ---------------------------------------------------------------------
>
>                 Key: QPID-6330
>                 URL: https://issues.apache.org/jira/browse/QPID-6330
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Client
>    Affects Versions: 0.30
>         Environment: Qpidd trunk broker
> Qpid trunk server runs 0-10 or 1.0 protocol
> Amqp.Net Lite interop client
>            Reporter: Chuck Rolke
>         Attachments: qpid-6330-client-sends-uint.patch
>
>
> Depending on which protocol the server uses it receives different data types from the
broker. The test setup is:
> * The client program sends messages with Amqp Values of various types.
> * The messaging server program is modified to include the received data type and content
encoding in the generated reply.
> Running the client twice but having the server use amqp1.0 and amqp0-10 generates these
server logs:
> {noformat}
> > ./server localhost:5672 "{protocol:amqp1.0}"
> Pr: True -> VAR_BOOL True
> Pr: False -> VAR_BOOL False
> Pr: 11 -> VAR_UINT8 11
> Pr: 2222 -> VAR_UINT16 2222
> Pr: 333333333 -> VAR_UINT32 333333333
> Pr: 4444444444444444 -> VAR_UINT64 4444444444444444
> Pr: -11 -> VAR_INT8 -11
> Pr: -2222 -> VAR_INT16 -2222
> Pr: -44444444 -> VAR_INT32 -44444444
> Pr: -8888888888888888 -> VAR_INT64 -8888888888888888
> Pr: 1225568100000 -> VAR_INT64 1225568100000
> Pr: -88.8799973 -> VAR_FLOAT -88.8799973
> Pr: 111111111111111.22 -> VAR_DOUBLE 111111111111111.22
> Pr: f275ea5e-0c57-4ad7-b11a-b20c563d3b71 -> VAR_UUID f275ea5e-0c57-4ad7-b11a-b20c563d3b71
> Pr: amqp -> VAR_STRING UTF8 AMQP
> Pr: [True, False, 11, 2222, 333333333, 4444444444444444] -> VAR_LIST [True, False,
11, 2222, 333333333, 4444444444444444]
> Pr: {boolFalse:False, boolTrue:True, ubyte:11} -> VAR_MAP {boolFalse:False, boolTrue:True,
ubyte:11}
> > ./server localhost:5672
> Pr: [True] -> VAR_LIST [True]
> Pr: [False] -> VAR_LIST [False]
> Pr: [11] -> VAR_LIST [11]
> Pr: [2222] -> VAR_LIST [2222]
> Pr: [333333333] -> VAR_LIST [333333333]
> Pr: [4444444444444444] -> VAR_LIST [4444444444444444]
> Pr: [-11] -> VAR_LIST [-11]
> Pr: [-2222] -> VAR_LIST [-2222]
> Pr: [-44444444] -> VAR_LIST [-44444444]
> Pr: [-8888888888888888] -> VAR_LIST [-8888888888888888]
> Pr: [1225568100000] -> VAR_LIST [1225568100000]
> Pr: [-88.8799973] -> VAR_LIST [-88.8799973]
> Pr: [111111111111111.22] -> VAR_LIST [111111111111111.22]
> Pr: �u�^
>                        WJױ�
>                             V=;q -> VAR_STRING BINARY �U�^
>                                                           WJױ�
>                                                                V=;Q
> Pr: amqp -> VAR_STRING UTF8 AMQP
> Pr: [True, False, 11, 2222, 333333333, 4444444444444444] -> VAR_LIST [True, False,
11, 2222, 333333333, 4444444444444444]
> Pr: {boolFalse:False, boolTrue:True, ubyte:11} -> VAR_MAP {boolFalse:False, boolTrue:True,
ubyte:11}
> {noformat}
> The amqp1.0 version produces the expected input and output from the server. Running amqp0-10
the server receives VAR_LIST data types where it should be receiving other data types.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message