Matt Broadstone
695f7d2997
complete close handshakes properly for Client and Channel
...
We had frame handlers for Close messages from the server, but were not
doing our due diligence and sending a corresponding CloseOk back to the
server after processing. It seems RabbitMQ is generous in this case, but
at least we're doing it the right way now
2014-08-07 14:12:28 -04:00
Matt Broadstone
6291bb7f42
add auto test for channel close
...
improve code coverage for tests by including a test for Channel::closeChannel
to both Exchange and Queue test suites
2014-08-06 22:35:46 -04:00
Matt Broadstone
fdb8dddc14
initialize network variables
...
there were a number of variables copied over from the legacy Network
class that were not properly initialized.
2014-08-05 14:38:13 -04:00
Matt Broadstone
d5cc6258c6
refactor type handling in QAMQP
...
There are two distinctive type sets in AMQP, the basic AMQP types
and then the superset of Table value types. This commit attempts to
make that distinction more clear by the addition of a Table class.
Basically, AMQP value type read/write support is left in Frame for the
time being, while table value field read/write support has been moved
to the Table class. Also, a number of type differences exist between
the spec and rabbitmq's binary parser (noted in the errata page) which
were not previously honored.
2014-08-05 14:34:12 -04:00
Matt Broadstone
1083f4db3a
test delayed queue bindings
...
improve code coverage by adding a test for delayed declaration and
bindings of queues. also uncovered a bug with disconnectFromHost in
Client
2014-07-29 12:57:15 -04:00
Matt Broadstone
a89dbb3805
add tests for proper uri validation
...
this is the missing component from PR #41 , tests a number of example
amqp uri's provided by the RabbitMQ spec/documentation
2014-06-26 16:05:47 -04:00
Matt Broadstone
824d8d56ca
add PR #41
...
vhosts can't start with a /
2014-06-24 21:35:58 -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
352669f392
added all tests around exchange declaration
2014-06-11 15:49:05 -04:00
Matt Broadstone
496e00abb9
move error constants to global namespace
2014-06-11 13:44:30 -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
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
60167321a9
add test for incompatible authentication mechanisms
2014-06-06 16:49:45 -04:00
Matt Broadstone
bea9204824
added qAmqpDebug to reduce debug messages during testing
2014-06-06 13:46:08 -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
607af62b7a
added crude autotest for autoReconnect, made connect and disconnect private slots of Client
2014-06-05 16:09:52 -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
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
80ba14136b
rename customProperty -> customProperties
2014-06-03 17:30:41 -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
Matt Broadstone
fde4bcf39a
overhauled tests, added TestCase class, made a few skeleton auto tests
2014-06-03 13:48:50 -04:00
Matt Broadstone
128f350cf8
refactored QAMQP::Network to include a dptr, made whole class private as it is
...
not meant to be used externally (only used by Client internally)
2014-06-03 12:28:12 -04:00
Matt Broadstone
60bcfabe2b
refactor Connection into a private class, since it can only be created by a Client.
...
moved ConnectionPrivate methods into Connection
2014-06-03 11:50:24 -04:00
Matt Broadstone
9eabe0587e
refactored Connection to take a Network in the ctor
...
standardized variable names
decoupled Connection and Client (they are no longer friends)
2014-06-03 09:13:37 -04:00
Matt Broadstone
c6d0c57d5f
remove crufty unused functions, used constBegin/End for iterations, store itEnd during loop, various other cleanups
2014-05-30 14:33:24 -04:00
Matt Broadstone
e325037fdd
remove needless function duplication in private class
2014-05-29 14:10:38 -04:00
Matt Broadstone
3d69359431
renamed open/close methods to connectToHost/disconnectFromHost (to mirror Qt socket API), added the first auto tests!
2014-05-29 10:16:33 -04:00
Matt Broadstone
8f39b2a367
missed a few namespace cleanups
2014-05-28 16:28:45 -04:00
Matt Broadstone
64f23fd648
namespace cleanup
2014-05-28 14:58:18 -04:00
Matt Broadstone
cd33957147
rename amqp => amqp_client
2014-05-28 13:05:51 -04:00