Commit Graph

367 Commits

Author SHA1 Message Date
Raoul Wols 819af12055
Replace shared_ptr by unique_ptr for Fields (#402)
There is no real purpose to using shared pointers it seems.
2021-07-20 10:32:10 +02:00
Raoul Wols e3678943cb
Monitor earlier in case flush() calls reportError. 2021-07-12 14:23:43 +02:00
Raoul Wols 0e6a1c52a9
Check if the callback is null again after flush()
The call to flush() may result in the _oldestCallback becoming a nullptr.
For instance, the SslConnected class might report an ssl error.
This causes the _oldestCallback to become null.
2021-07-12 12:51:47 +02:00
Raoul Wols ac91e954c2
Prefer make_shared over calling std::shared_ptr constructor 2021-07-01 11:54:43 +02:00
Emiel Bruijntjes 45775fefe8 avoid that multiple frames are sent by the channel-on-ready handler 2021-06-15 11:56:56 +02:00
Emiel Bruijntjes 3dbd045d06 allow user space programs to initialize the SSL structure before a connection is set up 2021-01-01 18:52:54 +01:00
Emiel Bruijntjes 79d8839ceb
Merge pull request #377 from BratSinot/BratSinot-patch-1
<boost/bind.hpp> is deprecated, using <boost/bind/bind.hpp>.
2020-10-27 08:02:52 +01:00
Aleksander e79912e812
<boost/bind.hpp> is deprecated, using <boost/bind/bind.hpp>. 2020-10-26 19:31:11 +03:00
Michael van der Werve ff30569cff {auto} fix to reliable class when publishing during ack/nack callback 2020-10-22 15:00:18 +02:00
Michael van der Werve cb4bcacc2f Merge branch 'master' of github.com:CopernicaMarketingSoftware/AMQP-CPP 2020-10-21 14:59:20 +02:00
Michael van der Werve e09f043f4b missing =0 on flags 2020-10-21 14:56:03 +02:00
Michael van der Werve 295642cfcd {auto} renamed confirmed to tagger and added unacknowledged counter' 2020-10-21 11:50:34 +02:00
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