Emiel Bruijntjes
271cc39c17
whitespace change
2014-08-13 16:43:59 +02:00
Emiel Bruijntjes
5bc7b4b5b3
added destructor of ReducedBuffer
2014-08-13 15:02:54 +02:00
Emiel Bruijntjes
945a01f659
The Connection::parse() method can now also be called with a buffer object, which allows the user to implement the buffer much more efficiently: it no longer has to be an array
2014-08-13 13:01:27 +02:00
Richard Hodges
d2a84b5f8d
build - added new source files to CMakeLists
2014-08-07 11:09:02 +01:00
Emiel Bruijntjes
a8ff6de550
fixed bug in channel.get() calls
2014-08-07 11:00:06 +01:00
Emiel Bruijntjes
37a51cdc7b
basic.get is asynchronous until the entire body has been received, only then subsequent messages are sent + first work in progress on implementing smarter buffers
2014-08-07 11:00:06 +01:00
Emiel Bruijntjes
dca76db2f0
empty messages could not be consumed or get, this has now been fixed
2014-08-07 11:00:06 +01:00
Emiel Bruijntjes
bcbe50e22c
basic.get callbacks only have to be installed for a single message, so we uninstall it right after the message was handled
2014-08-07 11:00:06 +01:00
Emiel Bruijntjes
b4270f39bc
added Channel::get() that allows one to retrieve a single message from the channel
2014-08-07 11:00:06 +01:00
Emiel Bruijntjes
f905c9db49
Quality of service now supports "global" parameter (default is still false)
2014-08-07 11:00:05 +01:00
Emiel Bruijntjes
d99b117a60
fixed bug in channel.get() calls
2014-08-04 13:44:17 +02:00
Emiel Bruijntjes
e299aa5fac
basic.get is asynchronous until the entire body has been received, only then subsequent messages are sent + first work in progress on implementing smarter buffers
2014-08-01 11:55:07 +02:00
Emiel Bruijntjes
b97222c4db
empty messages could not be consumed or get, this has now been fixed
2014-08-01 10:37:18 +02:00
Emiel Bruijntjes
7956d706fb
basic.get callbacks only have to be installed for a single message, so we uninstall it right after the message was handled
2014-08-01 10:05:02 +02:00
Emiel Bruijntjes
42514e80db
Merge branch 'master' of https://github.com/CopernicaMarketingSoftware/AMQP-CPP
2014-07-31 13:11:30 +02:00
Emiel Bruijntjes
f39410039b
added Channel::get() that allows one to retrieve a single message from the channel
2014-07-31 12:58:13 +02:00
Martijn Otto
f2f241665f
Merge branch 'master' of github.com:CopernicaMarketingSoftware/AMQP-CPP
2014-07-31 10:17:15 +02:00
Martijn Otto
98aba8f638
Fix for issue #12
2014-07-31 10:16:55 +02:00
Emiel Bruijntjes
cac3247304
Quality of service now supports "global" parameter (default is still false)
2014-07-31 10:10:15 +02:00
Richard Hodges
d4b10cbf35
bug - negate the result of send() before using the result in a DeferredResult constructor
2014-07-30 15:29:05 +01:00
Richard Hodges
d2a97c1dd3
bugfix - fixes bug where channel declaration deferred object is put in fail state after successful send of data
...
refs #12
2014-07-30 09:39:20 +01:00
Richard Hodges
b9ca150dba
merged from latest upstream
2014-07-28 15:16:32 +01:00
Richard Hodges
b41e2edc52
Merge remote-tracking branch 'upstream/master'
2014-07-28 15:07:06 +01:00
Emiel Bruijntjes
850252e1dd
link time optimization only for static libs
2014-07-25 09:34:01 +02:00
Richard Hodges
7c0642f30d
build - added CMakeLists.txt to allow integration into a CMAKE build tree
2014-07-11 18:17:03 +01:00
Emiel Bruijntjes
3a700226c8
BasicNack frame makes the consumer stop (dont know why) so we use the BackReject message instead when there is no need to reject multiple messages
2014-05-26 18:17:49 +02:00
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