Matt Broadstone
4f808bef92
add publish options
...
- add publish options to Exchange (these need to move to a Basic abstraction)
- listen for bmReturn in Exchange to catch errors
- added auto tests to check behavior of an invalid mandatory publish
- cleaned up bit fields in exchange and queue
2014-06-23 15:36:03 -04:00
Matt Broadstone
cb52911bed
additional peer exceptions added
...
added a few cases where we should be raising peer exceptions when
delivered invalid frames from the server (per spec)
2014-06-19 13:36:11 -04:00
Matt Broadstone
81f9437495
changed some variable names for clarity and readability
2014-06-19 11:04:20 -04:00
Matt Broadstone
27d8329065
added topics tutorial
2014-06-19 11:04:04 -04:00
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