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