Emiel Bruijntjes
84a87d8f93
many methods in the Channel class now take a std::string_view instead of a std::string parameter, and are thus a bit more efficient
2023-02-13 10:27:51 +01:00
Emiel Bruijntjes
d1be1063a5
implemented "consumer cancel notifications" (see https://www.rabbitmq.com/consumer-cancel.html )
2022-11-23 22:09:15 +01:00
Peter Eisenlohr
060e42a6dd
don't call moved-from callbacks
2022-03-25 16:08:50 +01:00
Peter Eisenlohr
fa1181aa63
Added const-ref wrappers to make changes backward-compatible.
2022-03-18 23:53:44 +01:00
Peter Eisenlohr
9c4cfffab8
std::move callbacks
2022-03-15 14:10:45 +01:00
Raoul Wols
1d25f0acbc
Fixup sync handling for CopiedBuffer
2021-08-10 16:07:21 +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
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
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
94bf5fe74b
initial implementation
2020-10-06 15:14:42 +02:00
Emiel Bruijntjes
79fe85cc0b
added Channel::ready() method
2020-04-18 08:30:44 +02: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
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
Emiel Bruijntjes
91a23d5737
Merge branch 'master' of github.com:CopernicaMarketingSoftware/AMQP-CPP
2018-11-23 11:16:03 +01:00
Emiel Bruijntjes
ee60aeb025
The Channel constructor now throws an exception if the max number of channels has been reached
2018-11-23 11:15:51 +01:00
Emiel Bruijntjes
8eed709988
Connection::fail() will now also call the channel::onError method
2018-11-21 13:56:44 +01:00
Emiel Bruijntjes
888dc8c40b
added channel::usable() to replace channel::connected()
2018-11-12 15:24:25 +01:00
Marcin Gibula
2aa55b83c7
Replace old API with DeferredConfirm class
2018-05-14 21:12:34 +02:00
Marcin Gibula
eeee1c3c5f
Rename setConfirmMode() to confirmSelect()
2018-05-14 12:59:20 +02:00
Marcin Gibula
e0b04ad7e0
Remove messageCounter()
2018-05-14 12:55:15 +02:00
Marcin Gibula
bfd91b6ab5
Merge with upstream
2018-04-10 10:30:01 +02:00
Emiel Bruijntjes
1ccd93cc5e
final step (although untested) for handling returned messages
2018-03-01 22:27:27 +01:00
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
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
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
Aart Stuurman
cf7261add5
Reordered public include files so they are now in include/amqpcpp/.
2018-01-24 01:58:18 +01:00