Commit Graph

355 Commits

Author SHA1 Message Date
Michael van der Werve 2262d92938 {auto} disconnected explicit requirement of reliable and throttle 2020-10-21 10:36:39 +02:00
Emiel Bruijntjes aa42847570 added renamed DeferredPublish class (was DeferredConfirmedPublish) 2020-10-19 08:59:41 +02:00
Emiel Bruijntjes b7e9827e0c Renamed DeferredConfirmedPublish to DeferredPublish 2020-10-19 08:59:13 +02:00
Emiel Bruijntjes 31f2d78778 Breaking change: the channel.publish() method no longer returns a DeferredPublisher-object, because it was not logical that you had to reinstall the callbacks for bounce-methods after each individual publish() call, not was it logical that the callbacks were not always logically linked to the publish() operation that failed (they were always sent to the handler of the most recent publish() instead of to the handler of the failed publish()). At the same time we added a channel.recall() method that can be used to notify the library that user-space is prepared to recall/take-back/accept bounced messages 2020-10-19 08:52:50 +02:00
Michael van der Werve ed62771667 fix nullptr_t compile error 2020-10-15 09:54:50 +02:00
Michael van der Werve 61f4cf244b fix voidfield issue 2020-10-15 09:41:59 +02:00
Emiel Bruijntjes 2e49fd1220
Merge pull request #345 from tarhan/master
Added Void field type
2020-10-14 21:02:12 +02:00
BratSinot 41019cb943 boost::placeholders in global namespace is deprecated. 2020-10-14 10:28:25 +03:00
BratSinot 93255e2de6 Switch from deprecated io_service to io_context. 2020-10-12 15:38:57 +03:00
Michael van der Werve c58cb6748d onError handler can be set on throttle, and onError & onLost can also be set on messages sent via confirmed. 2020-10-12 12:02:04 +02:00
Michael van der Werve e227d1ed3a {auto} confirmed channel can now be closed correctly 2020-10-07 16:08:26 +02:00
Michael van der Werve 0b9f4e4af5 {auto} initial implementation of the confirmed wrapper 2020-10-07 11:49:38 +02:00
Michael van der Werve f10e861532
{auto} renamed the throttledchannel to AMQP::Throttle, since it is only a wrapper and not strictly a channel (#366) 2020-10-07 10:04:05 +02:00
Michael van der Werve 94bf5fe74b initial implementation 2020-10-06 15:14:42 +02:00
Michael van der Werve 05059ec372 case insensitive comparisons 2020-10-05 15:43:36 +02:00
Emiel Bruijntjes 0686286b9e
Merge pull request #353 from CopernicaMarketingSoftware/address-params
Address optional parameters
2020-09-29 13:16:52 +02:00
Michael van der Werve 66faa8a925 add const char * option and allow parameters to address without vhost 2020-09-29 12:04:09 +02:00
Michael van der Werve 2496dbbd4e make sure onLost and onDetached are always called 2020-09-28 16:37:12 +02:00
Michael van der Werve 18d4a2cd56 {auto} parameters in the address 2020-09-28 15:48:45 +02:00
Bas van Berckel bcb1ba1361 exclude addresses.h from include file 2020-09-24 12:24:36 +02:00
Bas van Berckel 723470d6d6 add string/cstring constructors to addresses.h; add addresses.h to include file 2020-09-23 17:09:27 +02:00
Emiel Bruijntjes 96a6fa9a5c ability to store and retrieve envelopes 2020-08-17 15:16:24 +02:00
Emiel Bruijntjes 5d95ba824f moved the ReceivedFrame class to the src-directory, as it is of no use for userspace applications 2020-08-14 12:24:40 +02:00
Emiel Bruijntjes 92d21c5ddd the ReceivedFrame class has been split into a InBuffer base class to make it easier to store messages without having to construct a full frame, this commit adds the newly introduced classes 2020-08-14 12:20:58 +02:00
Emiel Bruijntjes b03cc6ff1c the ReceivedFrame class has been split into a InBuffer base class to make it easier to store messages without having to construct a full frame 2020-08-14 12:20:22 +02:00
Emiel Bruijntjes ee6ed20430 added more parameter-types to set properties in the envelope 2020-08-14 11:52:08 +02:00
Dmitriy Lekomtsev 6c87bcdcb8 Cleanup copy-pasted part 2020-07-29 19:07:44 +03:00
Dmitriy Lekomtsev bc4b9aa163 Added setting nullptr for Table's key 2020-07-29 18:35:11 +03:00
Dmitriy Lekomtsev 1c4917bead Added Void field type 2020-07-29 16:21:28 +03:00
Emiel Bruijntjes e7f76bc75d the TcpConnection class no longer calls back to userspace / to the user-supplied handler if user-space explicitly destructs the object 2020-04-30 21:41:41 +02:00
Emiel Bruijntjes 31e4a8596c The onFinalize() callback could be called more than once, which is not ok 2020-04-18 16:50:14 +02:00
Emiel Bruijntjes 79fe85cc0b added Channel::ready() method 2020-04-18 08:30:44 +02:00
Emiel Bruijntjes 599764ebb8 fix bug in Channel destructor for objects that were already moved 2020-03-13 09:21:26 +01:00
Emiel Bruijntjes f3ba779e67 deferred-chain was in kept in scope by a consumer-operation, this fixes #323 2020-02-28 12:45:45 +01:00
aljar 1e44e6b68b Fixed issue where the negotiate was overwritten by the handler and the connection was closed but still a timeout was triggered 2020-02-19 11:19:12 +01:00
Emiel Bruijntjes 949dc933eb fixed obvious typo in comment 2020-02-12 07:43:08 +01:00
LAD Martin 022bd87ac1 Adds channel callbacks checking 2019-11-05 13:39:45 +00:00
Michael van der Werve 7b79b7c6e2 now we always flush when a success is reported, and the funcction is renamed to flush 2019-06-19 10:54:50 +02:00
Michael van der Werve c82fce8ec9 fix for incorrect handling of synchronous flag 2019-06-19 09:38:56 +02:00
Michael van der Werve 19d82ed1f2 fixed issue where timer could set negative value in repeat if heavily delayed 2019-05-02 12:08:14 +02:00
Emiel Bruijntjes b4a67ac618 fixed dealing with timers in libev handler 2019-03-06 12:53:35 +01:00
thijs-blom a18e518ac8 when heartbeats were disabled, the event loop refcount would not be restored correctly after the timer expired. This has been fixed (#281) 2019-01-17 16:16:38 +01:00
Thijs Blom a3c68009e7 Give the server more time to send a heartbeat to make sure one missed heartbeat does not close the connection 2019-01-15 13:12:57 +01:00
Michael van der Werve 0857022bc4 ev_timer_again should be called after next has been reset 2019-01-10 15:59:57 +01:00
Emiel Bruijntjes 901298cd1c fixed libev handler: the heartbeat interval proposed by the server was not accepted 2018-12-17 16:19:40 +01:00
Emiel Bruijntjes 5d1d2c2852 fix timer that expired too early (fix #272) 2018-12-17 16:11:53 +01:00
Emiel Bruijntjes 1256c82d60 use std::list instead of std::vector 2018-12-14 00:07:19 +01:00
Emiel Bruijntjes 20d4104d18
Merge pull request #271 from CopernicaMarketingSoftware/heartbeats
Implemented custom heartbeats in Livev
2018-12-13 23:41:20 +01:00
Youri Moll a92dc27653 Implemented custom heartbeats in Livev 2018-12-13 13:01:38 +01:00
Moreno Carullo 3d1605009b This simple change allows the library to be compiled under FreeBSD. 2018-12-03 13:00:00 +01:00