Emiel Bruijntjes
|
a091921e88
|
added connection::heartbeat() method, userspace programs are responsible for calling this method once every 60 seconds
|
2017-06-16 10:14:42 +01:00 |
Emiel Bruijntjes
|
71eba4c5d3
|
prevent copying of buffers
|
2017-03-09 09:25:26 +01:00 |
Emiel Bruijntjes
|
1f5f641d8b
|
we now use passthrough buffers, so we no longer have to dynamically allocate a buffer for each and every outgoing message
|
2017-03-09 00:18:53 +01:00 |
Okke
|
c6608cee0a
|
Added even more debug code for the channelimpl class
|
2017-03-07 10:10:11 +01:00 |
Martijn Otto
|
2c60151d31
|
Only allocate a message and its data when a consumer wants to and allow consumers to receive the individual parts
|
2016-06-23 14:42:50 +02:00 |
Emiel Bruijntjes
|
24c8527b5d
|
added tcpinbuffer with much less allocation
|
2016-06-15 13:32:30 -04:00 |
Emiel Bruijntjes
|
59830c659c
|
added connection::maxFrame() and connection::expected() methods to give hints about the amount of data that the connection::parse() method ideally expects
|
2016-06-15 04:57:46 -04:00 |
Toon Schoenmakers
|
93a0b60b6e
|
clients can now intercept the heartbeat negotiation, and install a shorter of longer heartbeat interval, and clients can be notified for received heartbeat frames
|
2015-12-02 10:46:55 +01: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
|
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 |
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 |
Toon Schoenmakers
|
12af6e854a
|
Added a method to check how many channels a connection has
|
2015-09-10 14:33:25 +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 |
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 |
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
|
6cc25c4b27
|
removed operator= from channels and connections
|
2014-08-29 13:24:24 +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
|
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
|
acda90655d
|
login and vhost can now be fetched from the connection class
|
2014-08-19 14:54:30 +02:00 |
Emiel Bruijntjes
|
945a01f659
|
The Connection::parse() method can now also be called with a buffer object, which allows the user to implement the buffer much more efficiently: it no longer has to be an array
|
2014-08-13 13:01:27 +02:00 |
Martijn Otto
|
a9570277b7
|
Removed the nowait option from the public interface, because the deferred would never be called and implemented a queue to wait for synchronous methods to complete before sending the next frame
|
2014-04-29 15:51:33 +02:00 |
Emiel Bruijntjes
|
e0b709fa63
|
in case of a connection error, we no longer call the channel wide error handler
|
2014-04-16 12:04:44 +02:00 |
Emiel Bruijntjes
|
1fecc57d67
|
when a connection gets in error state, all deferred results will now also call their error callback, and the channel wide error handler is called _after_ all individual error handlers are called
|
2014-04-16 09:25:08 +02:00 |
Emiel Bruijntjes
|
82249ee368
|
update documentation, error callbacks now get a const char * instead of a std::string
|
2014-04-15 14:22:30 +02:00 |
Martijn Otto
|
1c0495378a
|
Implemented deferred consumers and a setTimeout method on the connection handler for indicating immediate failures on deferred objects
|
2014-04-14 14:10:57 +02:00 |
Martijn Otto
|
2939272bc8
|
Work in progress to convert channel handler to callback system
|
2014-04-08 14:42:07 +02:00 |
Luca Marturana
|
17be969d49
|
Add pragma once
|
2014-04-02 15:40:35 +02:00 |
Luca Marturana
|
47f5ec2710
|
On connection::parse char* can be const
|
2014-04-02 11:53:46 +02:00 |
Emiel Bruijntjes
|
6cfead9902
|
{auto} if connection.close() was called before the connection was set up, the instructions that were called between setting up the connection and the call to close() were lost. This forced users to always use the onConnected() handler to wait for the first instruction to be sent. But this is not according to the library design, so now the instructions that are given before the close() will be executed too;
|
2014-02-21 00:54:40 -08:00 |
Emiel Bruijntjes
|
a9e6045414
|
Removed and implemented many @todo tags from the source code, and added extra safety checks if some ignorant user decides to destruct channels or objects while they are still in use, implemented correct closing handshake for both connections and channels
|
2014-01-06 08:15:21 -08:00 |
Emiel Bruijntjes
|
5269f51a92
|
Implemented setting the quality of service (and it turns out that the prefetch size is not implemented in rabbitMQ, nor is setting the qos for the entire connection, so we have only implemented it for a channel)
|
2014-01-05 05:19:35 -08:00 |
Emiel Bruijntjes
|
5e96e2d832
|
it now is possible to publish messages to an exchange with this library
|
2014-01-05 04:08:35 -08:00 |
Emiel Bruijntjes
|
9c1e44f512
|
First setup for implementing the publish method
|
2014-01-04 12:01:02 -08:00 |
Emiel Bruijntjes
|
e5b705b742
|
Implemented buffering of outgoing messages before the connection is set up, so that it is possible to create channel objects and call AMQP methods even while the connection handshake is still in progress
|
2014-01-04 11:34:36 -08:00 |
Emiel Bruijntjes
|
7a6527dddf
|
updated Makefile, removed vhost from Login object, now also the commit of the README file and the header files
|
2014-01-04 05:11:06 -08:00 |
Emiel Bruijntjes
|
ea4f82ac8f
|
Initial commit with the implementation of all methods apart from the publish and consume methods
|
2014-01-04 03:45:04 -08:00 |