Emiel Bruijntjes
38eff4019d
added "override" to TcpConnection::onUnblocked(). Fixes #504
2023-07-13 21:33:36 +02:00
Timo Sluis
89ba9138c0
implement tcp handler and pass reason to callback
2023-07-03 13:05:09 +02:00
Timo Sluis
4fb968f7a4
implemented connection.blocked handling and callbacks
2023-07-03 11:41:02 +02:00
Emiel Bruijntjes
726b196578
better comment
2023-06-22 20:00:28 +02:00
Emiel Bruijntjes
54b625693c
{1:00} fixed possible crash in AMQP::Reliable when more messages are published as result of an incoming ack/nack (the iterator in a map could be invalidated by the call back to user space)
2023-06-22 19:47:01 +02:00
Emiel Bruijntjes
9413c9d7aa
support removal of properties from a message header
2023-04-12 08:25:00 +02:00
Emiel Bruijntjes
40456bbffb
The libev example handler can now be given a priority
2023-04-12 08:16:40 +02:00
Emiel Bruijntjes
cdcdaf79a3
added more constructors to AMQP::Envelope
2023-03-27 14:12:37 +02:00
Emiel Bruijntjes
e841b3ff69
AMQP::Tagger now takes a std::string_view
2023-03-26 18:40:14 +02:00
Emiel Bruijntjes
48b9f05677
AMQP::Reliable::publish() now takes std::string_view + added extra constructor to AMQP::Envelope
2023-03-26 18:31:55 +02:00
Emiel Bruijntjes
a37c354bea
{auto} when wrapping a tagger around a channel that already has an error-callback installed, we should preserve the old callback
2023-02-23 11:06:15 +01:00
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
6ddabe4ead
fix #489 , Address::operator== is broken
2023-01-10 10:45:43 +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
Emiel Bruijntjes
c93f2d89ac
when destructing a Tagger class, we now also unset the error-callback ( closes #480 ), at the same time we changed the version number in the Makefile ( closes #481 )
2022-09-11 20:09:02 +02:00
promero
0030bef793
Fixes #466
2022-07-07 11:52:17 +02:00
Sebastian Dietrich
eedfc00660
Avoid compiler warnings about unused parameters
2022-04-30 23:05:31 +02:00
Sebastian Dietrich
1dd1c23fc7
Fix handling of large messages (larger than 2GB)
2022-04-28 21:10:07 +02:00
Emiel Bruijntjes
328d9d12de
when retrieving data from an inbuffer, no longer restrict ourselves to uint32
2022-04-25 11:16:57 +02:00
Emiel Bruijntjes
edd0bb7028
allow bigger bodies than fit in a uint32_t
2022-04-25 11:15:31 +02: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
Emiel Bruijntjes
faa58852cb
the LibEvHandler::monitor() class is no longer private-final to allow user-space programs to further enhance it
2022-01-13 10:16:33 +01:00
Matwey V. Kornilov
7aa321efb8
libboostasio: Reimplement heartbeats
...
Fixes : #251
2021-11-30 21:30:48 +03:00
Tony Roussel
c83708e9bd
add x-message-deduplication exchange type
...
This exchange type exist on RabbitMQ server with the plugin rabbitmq_message_deduplication
This plugin code is available here: https://github.com/noxdafox/rabbitmq-message-deduplication
2021-11-23 14:13:55 +01:00
Emiel Bruijntjes
e1e83dfba6
when a very short heartbeat timer is installed, the timer did not expire soon enough (the default 60-second timeout was still used for the timer) PLUS when we detect a heartbeat-timeout, we now close the connection with immediate effect (because we do not trust the regular AMQP handshake to do anything, because it is also not respecting heartbeats
2021-09-20 12:47:56 +02:00
Raoul Wols
658da59a1b
Also start it again
2021-09-16 12:31:23 +02:00
Raoul Wols
e36d8abcc9
Remove ev_timer_again calls
...
The documentation says about this function:
If the timer is started but non-repeating, stop it (as if it timed out).
The timers are non-repeating, so we don't want this call.
https://linux.die.net/man/3/ev
2021-09-16 11:44:00 +02:00
Raoul Wols
b25c3f3ea8
Use one-shot expirations instead of intervals for the libev backend
2021-09-06 12:08:18 +02:00
Raoul Wols
1d25f0acbc
Fixup sync handling for CopiedBuffer
2021-08-10 16:07:21 +02:00
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