Commit Graph

121 Commits

Author SHA1 Message Date
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
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
Emiel Bruijntjes d2e3792abc fixed issue when end-of-file was encountered, this fixes #266 2018-11-30 06:42:54 +01:00
Emiel Bruijntjes 53f994d61d when user calls connection.heartbeat() we now always send out the heartbeat (AMQP-CPP no longer tries to be smart about skipping heartbeats, because that could lead to timeouts if the user is a little late with its call, or when there is network congestion) 2018-11-28 13:52:00 +01: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 799583ea39 Merge branch 'master' of github.com:CopernicaMarketingSoftware/AMQP-CPP 2018-11-21 13:56:53 +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 45ca61cc43 added TcpConnection::closed() 2018-11-14 14:15:52 +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 888dc8c40b added channel::usable() to replace channel::connected() 2018-11-12 15:24:25 +01:00
Emiel Bruijntjes 6432ce2ec1 added connection::usable() 2018-11-12 15:19:31 +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 6f81b0a097 when tcp connection is lost, the pending operations are now reported with an error 2018-11-11 23:46:58 +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
Emiel Bruijntjes fc21b62852 disable timer in libboostasio because it cannot handle multiple connections, fixes #251 2018-11-11 22:51:41 +01:00
Emiel Bruijntjes e83a07f871 renamed onClosed to onLost to prevent confusion between TcpHandler::onClosed() and ConnectionHandler::onClosed() 2018-11-08 09:58:36 +01:00
Emiel Bruijntjes da6744bf4d renamed ConnectionHandler::onConnectedO() to ConnectionHandler::onReady() 2018-11-08 08:34:58 +01:00
Emiel Bruijntjes 06dc23190d added ConnectionHandler::onProperties and TcpConnectionHandler::onProperties 2018-11-07 23:22:25 +01:00
Emiel Bruijntjes f0ad90dd65 fixed compiler warning 2018-11-07 17:34:35 +01:00
Emiel Bruijntjes 428219ad83 simplified and improved the close procedure 2018-11-07 15:04:08 +01:00
Emiel Bruijntjes 64c876e65a removed support for TcpConnection::flush() and removed internal TcpShutdown state 2018-11-06 18:11:27 +01:00
Emiel Bruijntjes 9330231a69 fixed assigning the new state 2018-11-05 17:11:21 +01:00
Emiel Bruijntjes 54049f9e8e improved the tcp handler, added more methods to monitor whether a connection is connected, logged on and in an error state 2018-11-05 16:49:55 +01:00
Emiel Bruijntjes bb417e89c2 add support for ConnectionHandler::onAttached() and ConnectionHandler::onDetached() 2018-11-05 16:19:48 +01:00
Emiel Bruijntjes 359eec189f work in progress, simplified the tcp and ssl states 2018-11-05 16:18:20 +01:00
Emiel Bruijntjes b81bc340b5 work in progress on refactored tcp handling, to solve various issues, like the one that lost connections do not trigger operations to fail 2018-11-04 23:34:31 +01:00
Emiel Bruijntjes 62a4262a58 the TcpConnection::close() method now supports an "immediate" parameter to skip the official amqp handshake for closing down 2018-10-28 18:13:13 +01:00