Martijn Otto
a9570277b7
Removed the nowait option from the public interface, because the deferred would never be called and implemented a queue to wait for synchronous methods to complete before sending the next frame
2014-04-29 15:51:33 +02:00
Emiel Bruijntjes
1fecc57d67
when a connection gets in error state, all deferred results will now also call their error callback, and the channel wide error handler is called _after_ all individual error handlers are called
2014-04-16 09:25:08 +02:00
Emiel Bruijntjes
82249ee368
update documentation, error callbacks now get a const char * instead of a std::string
2014-04-15 14:22:30 +02:00
Emiel Bruijntjes
3d4a1b865e
removed some @todo tags
2014-04-15 13:22:06 +02:00
Emiel Bruijntjes
b13398b09d
setTimeout function removed from connection handler, the finalize and error callbacks are called right away if installed on an object that already is in an error state
2014-04-15 13:18:32 +02:00
Emiel Bruijntjes
60b59524e7
when an error is detected on a channel, all subsequent and cached deferred objects are notified about the error too
2014-04-15 13:14:16 +02:00
Emiel Bruijntjes
d08270701e
refactored dealing with error messages
2014-04-15 13:01:27 +02:00
Emiel Bruijntjes
ae7a32a8bf
when a consumer is cancelled, it is also removed from the map of active consumers in the the ChannelImpl object
2014-04-15 12:36:11 +02:00
Emiel Bruijntjes
3b78247363
error callbacks get a const char *, no longer a std::string
2014-04-15 12:29:22 +02:00
Emiel Bruijntjes
301b8153e3
deferred objects are now correctly destructed + added extra checks so that no crashes occur when someone destructs a channel inside a callback function
2014-04-15 12:25:56 +02:00
Emiel Bruijntjes
745ab512a5
the consumer message callback can now also be installed via the Deferred objects, and it is no longer passed a consumer tag, because it already is obvious what the consumer tag is supposed to be
2014-04-15 11:39:52 +02:00
Emiel Bruijntjes
921f24ae06
de-templified the deferred objects, to make them easier to understand for other programmers
2014-04-15 10:43:33 +02:00
Emiel Bruijntjes
7b20f46519
removed channel parameter from the callbacks, because this can easily be captured
2014-04-15 08:52:49 +02:00
Emiel Bruijntjes
d47d6bda5d
removed noreturn attribute because not supported on gcc 4.7 (issue #10 )
2014-04-14 17:17:17 +02:00
Emiel Bruijntjes
b8d4581569
cast to array and cast to object implemented, refactored shared-ptr and clone() methods to utilize std::make_shared (see issue #7 )
2014-04-14 17:14:36 +02:00
Emiel Bruijntjes
bcc6eaff82
added const access for operator[] (issue #7 )
2014-04-14 16:06:29 +02:00
Martijn Otto
83621790f4
Give the connection object to the timeout as well
2014-04-14 15:31:15 +02:00
Martijn Otto
05412e0d2b
Merged recent commits
2014-04-14 14:23:37 +02:00
Martijn Otto
1c0495378a
Implemented deferred consumers and a setTimeout method on the connection handler for indicating immediate failures on deferred objects
2014-04-14 14:10:57 +02:00
Emiel Bruijntjes
cf5def0e89
fixed operator[] for arrays and strings, implemented << operator for field and fieldproxy objects to simplify debugging (reported from issue #7 )
2014-04-14 13:34:46 +02:00
Luca Marturana
3680d621ba
Bug fix on array serialization
2014-04-11 11:22:24 +02:00
Martijn Otto
d2c17869e0
Moved the remaining methods over to deferred handlers
2014-04-10 12:51:04 +02:00
Martijn Otto
e1b0e3dea1
Added a generic callback class that acts as a container for the different types of callbacks
2014-04-08 16:12:04 +02:00
Martijn Otto
2939272bc8
Work in progress to convert channel handler to callback system
2014-04-08 14:42:07 +02:00
Luca Marturana
41c1402d15
Const modifier to table get and some array operations
2014-04-02 12:59:24 +02:00
Luca Marturana
47f5ec2710
On connection::parse char* can be const
2014-04-02 11:53:46 +02:00
Niels Werensteijn
69f4669ccc
Three fixes to get this lib compiled on linux g++ 4.7.3
...
Added <stdexcept> include to amqpcpp.h
Removed virtual destructors for exception.h and protocolexception.h. They were causing compile issues because of (no) noexcept specification. They were empty implementations anyway, and the ~std::exception was already virtual, so they were not needed anyway.
2014-03-03 17:29:50 +01:00
Emiel Bruijntjes
6cfead9902
{auto} if connection.close() was called before the connection was set up, the instructions that were called between setting up the connection and the call to close() were lost. This forced users to always use the onConnected() handler to wait for the first instruction to be sent. But this is not according to the library design, so now the instructions that are given before the close() will be executed too;
2014-02-21 00:54:40 -08:00
Emiel Bruijntjes
8ae54cc598
Use generic g++ version, and not 4.8 explicitly in makefile
2014-02-11 23:30:05 -08:00
Emiel Bruijntjes
ffc400f4f0
Initialized a number of unused and deprecated variables to zero. This was not a big issue, because the information was unused, but it caused valgrind to report errors about using unitialized data
2014-02-11 23:27:07 -08:00
Emiel Bruijntjes
d4e543e74a
Login object now has methods to retrieve user name and password
2014-02-04 06:57:25 -08:00
Emiel Bruijntjes
99406af6c7
Channel::declareQueue() passive and durable flags were in conflict
2014-01-12 02:40:42 -08:00
Emiel Bruijntjes
9c86f0d750
added symlink in source directory otherwise it will not compile
2014-01-08 00:03:04 -08:00
Emiel Bruijntjes
5680ea8f11
fix the library after the rename operation
2014-01-07 01:17:09 -08:00
Emiel Bruijntjes
aba769f5cb
monitor class moved from include directory to src
2014-01-06 13:34:54 -08:00
Emiel Bruijntjes
a442a4773a
use default compiler
2014-01-06 09:21:15 -08:00
Emiel Bruijntjes
a9e6045414
Removed and implemented many @todo tags from the source code, and added extra safety checks if some ignorant user decides to destruct channels or objects while they are still in use, implemented correct closing handshake for both connections and channels
2014-01-06 08:15:21 -08:00
Emiel Bruijntjes
d1ab8b179a
implemented returned messages
2014-01-06 06:49:31 -08:00
Emiel Bruijntjes
efc556ee0a
added support for recovering
2014-01-06 05:38:48 -08:00
Emiel Bruijntjes
5a636f5b57
Implemented nack/reject
2014-01-06 05:28:58 -08:00
Emiel Bruijntjes
d1ae133f42
implemented channel.ack() method
2014-01-05 12:21:09 -08:00
Emiel Bruijntjes
cf1cbfa551
implemented consuming, refactored a lot of code from cpp files to header files
2014-01-05 09:50:41 -08:00
Emiel Bruijntjes
5269f51a92
Implemented setting the quality of service (and it turns out that the prefetch size is not implemented in rabbitMQ, nor is setting the qos for the entire connection, so we have only implemented it for a channel)
2014-01-05 05:19:35 -08:00
Emiel Bruijntjes
5e96e2d832
it now is possible to publish messages to an exchange with this library
2014-01-05 04:08:35 -08:00
Emiel Bruijntjes
9c1e44f512
First setup for implementing the publish method
2014-01-04 12:01:02 -08:00
Emiel Bruijntjes
24a4b866c1
Fixes to Makefile to remove dependecy on Copernica directory structure
2014-01-04 11:41:01 -08:00
Emiel Bruijntjes
e5b705b742
Implemented buffering of outgoing messages before the connection is set up, so that it is possible to create channel objects and call AMQP methods even while the connection handshake is still in progress
2014-01-04 11:34:36 -08:00
Emiel Bruijntjes
c87739312a
updated Makefile, removed vhost from Login object
2014-01-04 05:10:25 -08:00
Emiel Bruijntjes
ea4f82ac8f
Initial commit with the implementation of all methods apart from the publish and consume methods
2014-01-04 03:45:04 -08:00