qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PROTON-1940) [c] normalize encoding of multiple="true" fields
Date Wed, 26 Sep 2018 14:39:00 GMT

    [ https://issues.apache.org/jira/browse/PROTON-1940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16628869#comment-16628869

ASF GitHub Bot commented on PROTON-1940:

Github user astitcher commented on a diff in the pull request:

    --- Diff: c/src/core/codec.c ---
    @@ -529,15 +529,15 @@ int pn_data_vfill(pn_data_t *data, const char *fmt, va_list ap)
         case 'd':
           err = pn_data_put_double(data, va_arg(ap, double));
    -    case 'Z':
    +    case 'Z':                   /* encode binary, must not be NULL */
    --- End diff --
    As much as I agree the format letters need documenting I think that doing it inline is
*not* the right way to do it - IMO a single block comment above would be much easier to encompass
all the different codes.

> [c] normalize encoding of multiple="true" fields
> ------------------------------------------------
>                 Key: PROTON-1940
>                 URL: https://issues.apache.org/jira/browse/PROTON-1940
>             Project: Qpid Proton
>          Issue Type: Improvement
>          Components: proton-c
>    Affects Versions: proton-c-0.25.0
>            Reporter: Alan Conway
>            Assignee: Alan Conway
>            Priority: Major
>             Fix For: proton-c-0.26.0
> The AMQP spec defines some frame fields as "multiple".
> [http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-types-v1.0-os.html#section-composite-type-representation]
> "The _multiple_ attribute of a field description controls whether multiple element values
are permitted in the representation. A single element of the type specified in the field description
is always permitted. Multiple values are represented by the use of an array where the type
of the elements in the array is the type defined in the field definition. Note that a null
value and a zero-length array (with a correct type for its elements) both describe an absence
of a value and MUST be treated as semantically identical. "
> Proton accepts all legal values. This issue is to normalize values written by proton:
>  * empty array becomes null
>  * array of one element becomes a single value
> This is the most efficient encoding, and some clients (.NET) have problems with multiple
fields that contain an empty array rather than a null.

This message was sent by Atlassian JIRA

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

View raw message