Commit Graph

25 Commits

Author SHA1 Message Date
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 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
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
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
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
Youri Moll a92dc27653 Implemented custom heartbeats in Livev 2018-12-13 13:01:38 +01:00
Emiel Bruijntjes 549fec5cb1 libevhandler only checks for heartbeats if not overridden by user 2018-11-12 22:07:48 +01:00
Emiel Bruijntjes a80847dc5e fixed a couple of todos, make sure that onError() is always called 2018-11-12 12:12:04 +01:00
Emiel Bruijntjes 8d08916b8c fixed libev compiler errors 2018-11-11 22:58:13 +01:00
Emiel Bruijntjes d83e88b95d fixed the libev handler to be compatible with amqp-cpp 4.0, and we now also close the connection if the server stops sending heartbeats 2018-11-11 22:54:42 +01:00
Aljar Meesters 1db6ed13a6 libev implementation was incorrect when one single handler was used to manage multiple connections 2018-04-12 12:05:22 +02: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
Aart Stuurman cf7261add5 Reordered public include files so they are now in include/amqpcpp/. 2018-01-24 01:58:18 +01:00