Commit Graph

222 Commits

Author SHA1 Message Date
Emiel Bruijntjes 1f3500cee8 breaking changes:
channel.publish() now returns a DeferredConsumer object on which callbacks can be installed for handling returned messages,
channel.get().onSize() has a different behavior: it now reports the message size (and no longer the queue size),
channel.get().onCount() has been added: it reports the queue size (this used to be the onSize() method),
channel.consume().onSize() method has been added to find out the size of the upcoming message
2018-03-01 21:12:53 +01:00
Emiel Bruijntjes f39df772d3 breaking changes:
channel.publish() now returns a DeferredConsumer object on which callbacks can be installed for handling returned messages,
channel.get().onSize() has a different behavior: it now reports the message size (and no longer the queue size),
channel.get().onCount() has been added: it reports the queue size (this used to be the onSize() method),
channel.consume().onSize() method has been added to find out the size of the upcoming message
2018-03-01 21:12:50 +01:00
Emiel Bruijntjes ef76876d67 refactored code to make room for a deferredpublisher class (which will also use the deferredreceiver base class) 2018-03-01 18:07:18 +01:00
Emiel Bruijntjes 520fe40201 refactored handling of incoming messages from consume and get operations, to prepare for future handling of returned messages and publisher confirms. this also implies a small change to the api: the begin-callback when a message is received now also gets the original exchange and routing key (which could be useful) 2018-03-01 17:34:27 +01:00
Emiel Bruijntjes 3ccc6af475 added deferredreceiver files (forgotter in prev commit) 2018-02-27 05:09:03 +01:00
Emiel Bruijntjes e0feb17ecc renamed deferredconsumerbase into deferredreceiver, because it is not only a base class for the consumer, but also for other receiving operations: get requests and in the future also for returned messages 2018-02-27 05:08:21 +01:00
Emiel Bruijntjes ec327de396 less conservative caching of outgoing data. This fixes #184 2018-02-07 10:08:32 +01:00
Emiel Bruijntjes f5540e9af2 fixed autodelete flag for declaring an exchange and added support for internal exchange. this fixes #183 2018-02-06 21:54:56 +01:00
Steven Geddis accc1810a0 remove timer interval from ctor init list 2018-02-01 15:31:19 +01:00
Steven Geddis 5a853134aa remove second ctor with heartbeat interval (extend class instead). Change private to protected to allow LibBoostAsioHandler to be extended. 2018-02-01 15:27:59 +01:00
Steven Geddis 33c8e76a7e correct comment 2018-02-01 13:11:23 +01:00
Steven Geddis ae3b94fe92 use custom heartbeat interval outright, if set. 2018-02-01 13:05:41 +01:00
Steven Geddis b713d48bb9 add second constructor with heartbeat interval; apply modern cpp typedefs; Add comments; 2018-02-01 12:44:48 +01:00
zerodefect af1b54e268
Removed double inclusion of boost/function.hpp 2018-01-30 11:45:40 +00:00
zerodefect 1e9d1360f7 Fixed build error. 2018-01-30 10:43:08 +00:00
zerodefect 4b2c423896 Build examples now with travis-ci to ensure new changes don't break existing code. Fixed warnings as a result of lambda captures. 2018-01-30 10:07:27 +00:00
Aljar Meesters c287382770 fix includes because existing code was no longer compiling after the latest changes 2018-01-30 10:45:16 +01:00
Emiel Bruijntjes 3d823adb51 add include for boost/function.hpp 2018-01-30 09:27:43 +01:00
Aart Stuurman 99974d36d3 fixed strcasecmp error on windows platforms. 2018-01-29 17:29:27 +01:00
Aart Stuurman 0995b3e0ec fixed htonll compile error on windows. 2018-01-29 17:12:06 +01:00
Aart Stuurman f64b705c19 Merge branch 'clean-build' of https://github.com/surgura/AMQP-CPP into clean-build 2018-01-28 22:20:18 +01:00
Aart Stuurman 62065431b3 forgot file 2018-01-26 22:42:56 +01:00
Aart Stuurman 99cc34d922 Added linux_tcp.h so we can now once again use the tcp implementation of the handler. 2018-01-26 22:42:28 +01:00
Aart Stuurman f25efd2235 Merge https://github.com/CopernicaMarketingSoftware/AMQP-CPP into travis 2018-01-25 18:17:43 +01:00
Steven Geddis 959e6238ae code formatting; capture strand by copy in timer handler 2018-01-24 15:06:35 +01:00
Steven Geddis 8477fbb272 add PTR_FROM_THIS define; remove io_handler code duplication via read/write/dispatch wrapper functions. 2018-01-24 13:24:43 +01:00
Aart Stuurman cf7261add5 Reordered public include files so they are now in include/amqpcpp/. 2018-01-24 01:58:18 +01:00
Aart Stuurman 4c7a71e3a6 Fixed compile error on g++ caused by fixing warning. 2018-01-24 00:59:46 +01:00
Aart Stuurman b211fc7779 fixed 32 bit warnings. 2018-01-24 00:38:07 +01:00
Aart Stuurman 4072430fb3 Attempt to fix warning C4267 2018-01-24 00:19:55 +01:00
Steven Geddis d71040b2e5 fix bad opening comment block 2018-01-23 19:16:44 +01:00
Aart Stuurman 27f765b5f7 linux tcp is now opt-out instead of opt-in(to keep compatibility with the original lib). 2018-01-23 19:15:10 +01:00
Steven Geddis 4652a9cbdf libboostasio.h does not compile with clang-3.9 due to following error when compile if cpp17 preprocessor check: embedding a directive within macro arguments has undefined behavior [-Werror,-Wembedded-directive]. Fix this by moving the bind away from preprocessor macro. Replace the STRAND_SOCKET_HANDLER, STRAND_TIMER_HANDLER macros with template functions. 2018-01-23 18:55:46 +01:00
Aart Stuurman 5701d28b2b added BUILD_TCP option to build the linux sockets implementation. 2018-01-23 18:49:59 +01:00
Aart Stuurman 001dfaa7e0 - Moved linux specific TCP implementation to a seperate folder and removed it from default build. Does not yet build correctly if you want that.
- Fixed conversion warnings from <some integer> type to uint32_t, which happens a lot around here. This is no functional change, just making it explicit so the compiler doesn't warn.
2018-01-23 16:47:53 +01:00
Alessandro Pischedda fd14790166 fix boost::placeholders undefined error and remain well explicited than use just '_1' or '_2' 2018-01-18 10:08:56 +01:00
Alessandro Pischedda 97124dc604
Fix compile
remove ?boost::placeholders::' .
2018-01-17 15:20:04 +01:00
Emiel Bruijntjes b25bd583a3 added operator< to AMQP::Address 2017-12-29 19:27:40 +01:00
Emiel Bruijntjes f05aba0782 added TcpConnection::fileno() to expose the internal filedescriptor / socket 2017-12-12 17:10:51 +01:00
Emiel Bruijntjes c63f62189e better docblocks so that future users will understand the difference between the callbacks for a consumer (mentioned in issue #156) 2017-11-21 16:45:05 +01:00
Emiel Bruijntjes 60466cc6bf Updated comment for Channel and TcpChannel constructors (to prevent issues like #154) 2017-11-17 11:38:54 +01:00
Emiel Bruijntjes d75ae2ebe1 fix compile issue because comma was missing 2017-10-24 12:54:29 +02:00
zerodefect 034e72bbc2 Added example/test application to demonstrate boost asio io_service handler. 2017-10-23 11:40:49 +01:00
zerodefect 5410f1abdd Replaced tabs with spaces in LibBoostAsioHandler 2017-10-19 16:14:21 +01:00
zerodefect cdd9918e6a Cleaned up docs/comments in LibBoostAsioHandler 2017-10-19 16:06:41 +01:00
zerodefect a9daf7e769 Added strand to LibBoostAsioHandler.h to ensure that 1 thread goes through the 'gate' (from the io_service set of threads) at any one time. 2017-10-19 15:59:40 +01:00
zerodefect 12ffe885c1 Cleaned up existing boost handler. There were a few bits that needed tidying up. 2017-10-19 14:44:29 +01:00
zerodefect e3e0c6da19 Added timer boost asio event handler to perform health checks. 2017-10-13 09:26:32 +01:00
zerodefect d1b2139af0 Cleaned up the handler upon conducting some additional testing. 2017-10-12 17:11:38 +01:00
zerodefect e9cb9fbe92 Renamed libboostasio.hpp to libboostasio.h. Added header to copied files as part of install. 2017-10-12 11:41:41 +01:00