Commit Graph

20 Commits

Author SHA1 Message Date
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 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 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 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 566de2e4d4 spelling cleanups 2014-06-10 21:23:08 -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 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 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 1198db2857 refactored Channel, changed some methods to better convey their intention 2014-06-03 13:00:25 -04:00
Matt Broadstone 360e64b34b add auto tests for standard exchange types
fixed a bug with reporting the removal of an exchange
added an ExchangeType enum for standard types
2014-06-02 11:00:04 -04:00
Matt Broadstone 477cca3d69 moved publish from private to main class 2014-05-30 17:07:41 -04:00
Matt Broadstone 5bd2ebbde8 moved declare/remove from private to main class 2014-05-30 16:56:29 -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 2ba2823b84 export it all! this may be unnecessary, more investigation needed 2014-05-28 15:33:15 -04:00
Matt Broadstone 64f23fd648 namespace cleanup 2014-05-28 14:58:18 -04:00
Matt Broadstone dbb03b9df4 move library files to src directory 2014-05-28 12:35:31 -04:00
fuCtor 3fbb01fef4 [+] Exchange
[+] Queue
[+] Basic.publish
2012-02-12 04:22:10 -08:00
fuCtor 5ca89c228b First commit
Implement:
* Connection
* Channel
2012-01-29 07:36:03 -08:00