MessageFlow needs sensible defaults, defined constants
------------------------------------------------------

                 Key: QPID-750
                 URL: https://issues.apache.org/jira/browse/QPID-750
             Project: Qpid
          Issue Type: Improvement
          Components: C++ Client
            Reporter: Jonathan Robie


Currently, the C++ client must explicitly allocate credit with messageFlow to 
receive messages, e.g. 

     session.messageSubscribe(arg::queue="message_queue", 
arg::destination="listener_destination");
     session.messageFlow(arg::destination="listener_destination", arg::unit=0, 
arg::value=1);//messages ### Define a constant?
     session.messageFlow(arg::destination="listener_destination", arg::unit=1, 
arg::value=0xFFFFFFFF);//bytes ###### Define a constant?

This complicates introductory examples and simple programs. It would be helpful 
to have a sensible default message flow that is used if the user does not 
explicitly allocate credit. (I am guessing that it's unlikely that someone 
would want to subscribe to a queue and not receive messages, so we don't have 
to worry about this case.)

Even when explicit control over the number and size of messages received is 
important, there are no defined constants to make it clear what the above calls 
mean. How is the programmer supposed to know that arg::unit=0 in the second 
parameter means setting the number of messages to receive? Defined constants 
would make this code much more readable.

What guidelines should we give users for the settings of message flow 
parameters in real programs?

Jonathan

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to