Commit Graph

312 Commits

Author SHA1 Message Date
Matt Broadstone b9a85b3051 added the routing tutorial 2014-06-19 10:50:40 -04:00
Matt Broadstone 1ae43ef4bd change the way messages are received
Messages used to be "delivered" and pushed right onto the queue, which
is where the requirement for Message to be explicitly shared came from.
Now messages that are incomplete come in and are stored in a "currentMessage"
private member (there is a requirement that messages are delivered in this
fashion, by the spec). Once the message body has come in, it is put into
the local queue and the messageReceived signal is emitted.

Also, modified Queue to be able to track a number of consumer tags. This
was exposed by the "routing" tutorial, where a single consumer can bind
to a number of exchanges with a generated consumer tag. The previous example
did not run into this problem because it used an explicitly set consumer tag
and therefore there were no conflicts.
2014-06-19 10:01:47 -04:00
Matt Broadstone bf21ebc246 refactor Message
message now provides an "isValid" property, data is implicitly shared now
2014-06-19 10:00:52 -04:00
Matt Broadstone 64c371ebb0 implemented pubsub tutorial 2014-06-18 14:21:42 -04:00
Matt Broadstone 7ff7719518 add the workqueues tutorial
still incomplete because qos is temporarily disabled
2014-06-18 11:06:49 -04:00
Matt Broadstone f5763ac9bb begin to add rabbitmq tutorials
most of these are included in the manual amqp test already, but I wanted
to break them out so users could have a nice example of how to do these
in standalone form, like the python tutorials. Helloworld (tutorial 1) is
also included fully implemented in this commit
2014-06-18 10:31:28 -04:00
Matt Broadstone b5d77e17e3 revert reordering publish arguments
I originally changed the publishing arguments to take a routingKey first
which is pretty nonstandard across implementations. Reverting for
conformity.
2014-06-17 15:14:23 -04:00
Matt Broadstone 14f9b7e955 semi-complete tests around queue requirements 2014-06-11 16:14:33 -04:00
Matt Broadstone 352669f392 added all tests around exchange declaration 2014-06-11 15:49:05 -04:00
Matt Broadstone 4a09094140 added autotest for invalid exchange declarations 2014-06-11 14:38:42 -04:00
Matt Broadstone 496e00abb9 move error constants to global namespace 2014-06-11 13:44:30 -04:00
Matt Broadstone e1522771e3 refactor exchange test to create a client and connect/disconnect after each test 2014-06-11 11:36:59 -04:00
Matt Broadstone c2dad7d6bb added RemoveOptions to Exchange, remove auto deletion (this should be handled by the AutoDelete option), and added
a test for an invalid remove(roIfUnused)
2014-06-10 21:41:28 -04:00
Matt Broadstone 8e2b66677d add roForce to Queue, replace forceRemove 2014-06-10 21:27:59 -04:00
Matt Broadstone 566de2e4d4 spelling cleanups 2014-06-10 21:23:08 -04:00
Matt Broadstone 46e974aeb8 provide purged signal, other small cleanups 2014-06-10 13:04:57 -04:00
Matt Broadstone 478597063c updated queue tests to include purge test, and reenable removeIfEmpty test 2014-06-10 13:03:52 -04:00
Matt Broadstone 4ff7683536 standardize MessageProperties throughout codebase 2014-06-10 09:16:04 -04:00
Matt Broadstone 4422924219 convert QAMQP::Queue to a proper QQueue subclass, move MessageProperties to QAMQP namespace 2014-06-10 09:05:42 -04:00
Matt Broadstone 55da181788 a little closer to proper tuning 2014-06-09 19:39:09 -04:00
Matt Broadstone 1510e1f6c6 provide access to tuning variables, add checks for frameMax per spec in a number of areas,
add an incomplete autotest for using connection tuning parameters
2014-06-09 19:27:24 -04:00
Matt Broadstone 223af56683 use consistent naming scheme for constants 2014-06-09 19:26:30 -04:00
Matt Broadstone 1d3f53ba60 clear buffer on forced disconnect, fatal disconnect on bad frame end, store tuning parameters 2014-06-09 16:01:23 -04:00
Matt Broadstone 182b493119 increase default delay in waitForSignal to 5sec for travis tests 2014-06-09 15:18:37 -04:00
Matt Broadstone aff5fb70b7 added autotests for exclusive queues 2014-06-09 15:10:35 -04:00
Matt Broadstone 613bd5ba96 make sure all errors have Error in the name 2014-06-09 15:10:22 -04:00
Matt Broadstone 50a588e678 allow for creation of a queue with no name, added auto test for validation 2014-06-09 14:07:13 -04:00
Matt Broadstone 60167321a9 add test for incompatible authentication mechanisms 2014-06-06 16:49:45 -04:00
Matt Broadstone f11caabb14 add auto test for unbinding from an exchange 2014-06-06 14:40:05 -04:00
Matt Broadstone bad40ac83b - updated all manual tests to reorder publish parameters (routeKey first)
- updated all manual tests to remove queues with no name
2014-06-06 14:32:46 -04:00
Matt Broadstone bea9204824 added qAmqpDebug to reduce debug messages during testing 2014-06-06 13:46:08 -04:00
Matt Broadstone 8599cec147 - added auto tests for binding to standard AMQP-defined exchanges
- removed name parameter from Queue::declare, reducing confusion. Updated manual test to reflect this change
2014-06-06 13:37:36 -04:00
Matt Broadstone 9b45f2ac58 - added auto tests for remove
- remove now takes flags rather than magical booleans
- fixed a bug delete -> deleteOk in QueuePrivate so we can listen for sync queue destruction
- added error signals to Client(Connection), and Channel
- removed automatic calls to remove a Queue when the channel is closed, or Queue is deleted
  this behavior is already handled by the AutoDelete declare option
2014-06-06 12:10:51 -04:00
Matt Broadstone 75ebbec309 stubbed out an SslClient, no tests at all but it builds 2014-06-05 21:31:24 -04:00
Matt Broadstone af0ccf6e7d disable autoReconnect auto test because of travis 2014-06-05 16:16:22 -04:00
Matt Broadstone 607af62b7a added crude autotest for autoReconnect, made connect and disconnect private slots of Client 2014-06-05 16:09:52 -04:00
Matt Broadstone d9d52e489a Queue::messageReceived no longer passes the queue as a parameter (use sender() if you need it)
fixed qamqp manual test to send key before message
2014-06-05 15:44:14 -04:00
Matt Broadstone 01d792f38d refactor Message to be explicitly shared class, rather than passing
shared pointers around directly
2014-06-05 15:37:41 -04:00
Matt Broadstone 73a1d1db36 organize which methods are related to which parts of the spec, try to figure
out what we're missing
2014-06-05 14:10:29 -04:00
Matt Broadstone 6f05bf5ef9 remove convenience bind methods from exchange, reducing the confusion about
how queues are actually bound to an exchange (not the other way around)
2014-06-04 23:44:07 -04:00
Matt Broadstone eaee35df12 add a test for a default exchange to tst_QAMQPQueue 2014-06-04 10:24:45 -04:00
Matt Broadstone 1a769b2b48 rename ChannelPrivate::number -> channelNumber 2014-06-04 09:50:31 -04:00
Matt Broadstone 343609d884 move all frame handlers to private classes in an effort to make amqp_frame private 2014-06-04 09:46:15 -04:00
Matt Broadstone 9a4e1f2764 update travis config for qt5 builds, add build status to README.md 2014-06-03 22:16:57 -04:00
Matt Broadstone 7b695f52f3 start rabbitmq for tests in travis 2014-06-03 17:38:01 -04:00
Matt Broadstone 0cd96eef2f add travis configuration for CI 2014-06-03 17:33:38 -04:00
Matt Broadstone 80ba14136b rename customProperty -> customProperties 2014-06-03 17:30:41 -04:00
Matt Broadstone e9dcb18c44 remove no longer needed auto test 2014-06-03 16:46:51 -04:00
Matt Broadstone 983eb60f76 fix delayed declarations for different exchange types 2014-06-03 16:33:43 -04:00
Matt Broadstone d4b1824b46 merged Client Connection and Network classes, fixed a bug allowing for proper
connecting and disconnecting from a broker
2014-06-03 16:11:30 -04:00