Commit Graph

32 Commits

Author SHA1 Message Date
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