Commit Graph

111 Commits

Author SHA1 Message Date
Emiel Bruijntjes 57c1109115 added extra Table::set() methods 2015-11-28 17:30:02 +01:00
Emiel Bruijntjes 155c989db5 added "override" keywords to overridden methods, fixed buffer overflow in setting up a connection 2015-11-28 11:38:15 +01:00
Emiel Bruijntjes 16a5104cd1 added include guard 2015-11-17 11:17:21 +01:00
Emiel Bruijntjes 3c6f909871 on second thought, should not be protected 2015-11-17 10:07:33 +01:00
Emiel Bruijntjes 1fc239f9fe loop member is now protected (could be useful) 2015-11-17 10:06:26 +01:00
Emiel Bruijntjes 66d2173f86 added libev implementation for the Tcp handler, added libev example program 2015-11-17 09:33:28 +01:00
Toon Schoenmakers c783ec7618 When building the address url, username and password should be split with a colon 2015-11-02 17:53:43 +01:00
Toon Schoenmakers 875300dbce Exposed the channels method in the TcpConnection class and added a more specialized constructor to the Address class 2015-11-02 17:47:21 +01:00
Emiel Bruijntjes b610ac5183 added TcpConnection::close() method 2015-11-01 12:20:12 +01:00
Emiel Bruijntjes 9e08c6932f extra Address constructor added 2015-11-01 12:17:33 +01:00
Emiel Bruijntjes 6061d853c7 Merge pull request #44 from Kojoley/envelope-copyctor-fix
AMQP::Envelope copy constructor missing base class constructor call
2015-11-01 05:14:27 -05:00
Emiel Bruijntjes 34699cfcd3 fixed formatting 2015-11-01 11:10:01 +01:00
Emiel Bruijntjes 0e5024d38a Merge pull request #47 from keenlogics/Heartbeat
The server heartbeat is stored in Connection
2015-11-01 05:03:02 -05:00
Emiel Bruijntjes 66ade94fc0 moved the #pragma once statement 2015-11-01 10:48:13 +01:00
Emiel Bruijntjes d41423d5db Added TcpChannel class so that Connection and Channel class are once again completely protocol agnostic 2015-11-01 09:51:43 +01:00
Emiel Bruijntjes b4bd61580b fixed to parsing incoming tcp data 2015-11-01 09:43:17 +01:00
Emiel Bruijntjes df801953a1 improvements to work directly with tcp connections 2015-10-31 21:13:41 +01:00
Emiel Bruijntjes 189d6c9ef1 added Connection::waiting() method to find out if the connection object is waiting/expecting an answer from the rabbitmq server 2015-10-31 18:26:52 +01:00
Emiel Bruijntjes f3955bcd51 implemented TcpConnection, so that users of the library do not have to setup their own tcp connections 2015-10-31 18:26:04 +01:00
Emiel Bruijntjes d18fd082d2 use move semantics in Login class (small optimization) 2015-10-31 18:23:24 +01:00
Emiel Bruijntjes fc5a053089 added "Address" class to parse "amqp://" urls 2015-10-31 18:22:41 +01:00
Sebastian Melinat 74a1a17553 During the handshake the heartbeat duration the server wants is stored in the connection so that clients can retrieve and use it for error detection 2015-10-21 15:26:53 +02:00
Nikita Kniazev ca522a32a5 AMQP::Envelope copy constructor missing base class constructor call 2015-09-28 12:56:52 +03:00
Toon Schoenmakers 12af6e854a Added a method to check how many channels a connection has 2015-09-10 14:33:25 +02:00
Toon Schoenmakers a0d7063c4e Fixed a few incorrect signatures in docblocks 2015-08-03 16:25:25 +02:00
Martijn Otto db3613112e Removed some macros for FreeBSD: Apparantly they are not needed. We might need to remove them for NetBSD and DragonFly as well 2015-07-01 09:48:56 +02:00
Martijn Otto 7a11c23f03 When a deferred handler is in error state, registering a finalize callback should also cause it to be called immediately 2015-06-12 16:48:25 +02:00
Martijn Otto a93b88697d Fix double ready bug for channel, fixes #25 2015-05-18 10:56:50 +02:00
Martijn Otto 7ae4f9c5ff Fixed a bug in the envelope, easy retrieval of field type and improved casting operators for numeric fields 2015-05-05 13:38:20 +02:00
Martijn Otto fcc9522e16 Some bugfixes and performance enhancements 2015-04-30 14:18:18 +02:00
Martijn Otto 45deeaa754 Fixed a bug where a frame could be sent exceeding the maximum frame size (resulting in protocol errors) and added some optimizations 2015-04-30 10:59:03 +02:00
Martijn Otto b9caf0199d Received messages are now moved into the callback instead of provided as a const reference 2015-04-28 10:58:49 +02:00
Emiel Bruijntjes ad3b95741e various trics and changes so that windows compilers, and 32bit systems will not complain about stuff 2015-04-24 10:46:44 +02:00
Martijn Otto 803ba6cc88 Added publish method with r-value std::string 2015-04-22 14:24:00 +02:00
Emiel Bruijntjes df6b8ae743 in reaction to pull request #21 the "const uint**_t" return values have been changed into "uint**_t" return values 2015-02-17 09:02:51 +01:00
Sebastian Melinat 09850e792f Bugfix: ConnectionImpl::reportError calls ChannelImpl::reportError of every channel. The channel then removes itselfs from the connection. That caused the for loop to run out of bounds. Fixed by switching to while 2015-01-28 11:47:03 +01:00
Emiel Bruijntjes f23dc72a4f Fixed documentation, removed references to the ChannelHandler - an object that is no longer supported by AMQP-CPP 2015-01-26 14:47:30 +01:00
Emiel Bruijntjes 236dd02b13 fixed theoretical issue when deferredGet onSize() methods destructs the underlying channel object 2014-09-02 11:18:11 +02:00
Emiel Bruijntjes 9653578d4a The Channel.get().onFinalize() function was called before the Channel.get().onSuccess() method, which is strange. This has been fixed. To fix this, we had to refactor the Deferred* into shared_ptrs 2014-09-02 10:32:55 +02:00
Emiel Bruijntjes 6cc25c4b27 removed operator= from channels and connections 2014-08-29 13:24:24 +02:00
Emiel Bruijntjes aceac8b677 the finalize callback is now called as part of the deferred object destructor, this ensures that the finalize callback will always be called 2014-08-29 13:18:08 +02:00
Emiel Bruijntjes d35dba71a1 disabled copy constructors for channel and connection objects, because the end-user is not supposed to copy them 2014-08-29 13:17:17 +02:00
Emiel Bruijntjes ebcdd71848 Added onSize() method to DeferredGet 2014-08-28 10:02:01 +02:00
Emiel Bruijntjes c7b3f71f14 the connection.close function was only waiting for synchronous calls to complete, async calls that were waiting (after a synchronous) were still discarded, this has been fixed 2014-08-20 13:40:29 +02:00
Emiel Bruijntjes d23e818f64 turns out that shared_from_this() can not be called from the constructor, so we made a special attach() function to postpone object initialization 2014-08-20 12:44:52 +02:00
Emiel Bruijntjes 6997a70cf1 when a connection was closed, the commands already given to the channels were sometimes by-passed by the closing channel. This has been fixed. Also solved the problem that calls executed on channel objects that fall out of scope were not always completed 2014-08-20 11:47:16 +02:00
Michael van der Werve 170ef1f82a when a channel is destructed during a success-callback, the program crashed, this has been fixed by using shared_ptr 2014-08-19 17:43:12 +02:00
Michael van der Werve 07d9361d84 compile fixes 2014-08-19 15:00:20 +02:00
Michael van der Werve acda90655d login and vhost can now be fetched from the connection class 2014-08-19 14:54:30 +02:00
Emiel Bruijntjes 328820f898 renamed apple.h to endian.h because it turns out that it is also used for linux systems, and removed double implemented ChannelImpl::get() function 2014-08-14 15:25:44 +02:00