theirix
e6e70e69de
Removed unneeded const qual
2016-09-02 22:44:11 +03:00
theirix
c6643062b6
Removed unneeded self-cast operators
...
They are not used and caused a lot of warnings
while compiling and using AMQP-CPP
2016-09-02 22:33:12 +03:00
Emiel Bruijntjes
383914c0c7
Merge pull request #80 from theirix/sigpipe-osx
...
Avoid SIGPIPE on OS X without MSG_NOSIGNAL
2016-07-27 05:09:44 -04:00
Martijn Otto
53dd7c74c5
Merge pull request #86 from ogapo/master
...
libuv drop in implementation for TcpHandler
2016-07-18 15:12:24 +02:00
Emiel Bruijntjes
3ceeeb9204
Merge pull request #85 from javeme/monitor-copy
...
Implement copy constructor for class Monitor
2016-07-18 04:41:14 -04:00
David Nikdel
fd69a4c01d
map closed sockets to both read and write
...
- this is more consistent with libev so probably will match what existing code expects
2016-07-16 20:43:19 -04:00
David Nikdel
584d92e751
can't use struct elaboration with typedef
2016-07-16 20:30:03 -04:00
David Nikdel
1e1ec0c133
Update libuv.h
...
- if status is not ok, report that as readable
- no need to stop uv_poll_t before changing events according to the docs
2016-07-16 20:27:00 -04:00
javeme
4b7874c5b6
Implement copy constructor for class Monitor
...
To support the instance copy of Monitor like the following:
AMQP::Monitor monitor(consumer);
consumer->bindExchange(exchange, AMQP::direct).onSuccess([&, monitor](){
// do something when the consumer is ready!
if(monitor.valid())
consumer->doSomething();
});
2016-07-17 00:54:42 +08:00
David Nikdel
b8d2c0c600
fix casting
2016-07-14 23:49:31 -04:00
David Nikdel
5042b699bd
create libuv.h based on libev.h
2016-07-14 23:30:43 -04:00
Martijn Otto
fe01610e96
Merge pull request #81 from theirix/shared-cmake
...
Build shared library with CMake
2016-07-11 09:32:38 +02:00
theirix
fbe287c795
Build shared library with CMake
...
Added option BUILD_SHARED to build shared library instead of static.
2016-07-10 22:24:24 +03:00
theirix
66f2001c7b
Avoid SIGPIPE on OS X without MSG_NOSIGNAL
...
OS X does not have Linux-specific option MSG_NOSIGNAL.
SIGPIPE can be avoided on OS X by using sockopt SO_NOSIGPIPE.
Credits: https://noahdesu.github.io/2014/01/16/port-sendmsg.html
2016-07-10 21:44:14 +03:00
Rafal Goslawski
14acb6bbed
Bump version to 2.6.1
2016-07-08 15:20:57 +02:00
David van Erkelens
ad9171f226
Changed writev to sendmsg to prevent SIGPIPE errors
2016-07-06 14:08:45 +02:00
Emiel Bruijntjes
aad09a1dd2
work in progress to prevent SIGPIPE signals (this is going to fix #79 )
2016-07-06 13:03:51 +02:00
David van Erkelens
dddd16b74d
Make sure single gets are processed correctly as well
2016-07-05 16:39:12 +02:00
Martijn Otto
28d440449d
Merge pull request #78 from maxim-ky/master
...
Add ln --relative to Makefile (install target)
2016-07-04 11:09:04 +02:00
Maksim Kuzevanov
9f1bf17a03
ln --relative in make install target
2016-07-04 11:58:38 +03:00
Martijn Otto
5d741bfd2d
Merge branch 'master' of github.com:CopernicaMarketingSoftware/AMQP-CPP
2016-07-04 10:14:00 +02:00
Martijn Otto
5b40c04f2a
Added documentation about missing RabbitMQ functionality
2016-07-04 10:13:50 +02:00
Martijn Otto
c055b1a439
Merge pull request #77 from javeme/return-type-of-waiting
...
Correct the returning type of Connection::waiting()
2016-07-04 09:41:54 +02:00
Martijn Otto
979128782b
Merge pull request #76 from maxim-ky/master
...
Made some destructors virtual and fixed a user-after-free bug
2016-07-04 09:38:31 +02:00
javeme
5cff314d88
Correct the returning type of Connection::waiting()
...
The returning type of Connection::waiting() should be bool,
but currently it's size_t type.
2016-07-03 21:35:44 +08:00
Maksim Kuzevanov
e3b7e6abd6
fix undefined behaviour due to a reference to a destroyed temporary object
2016-07-01 17:29:40 +03:00
Maksim Kuzevanov
89eda45df2
don't ignore a given PREFIX in makefile
2016-07-01 17:29:40 +03:00
Maksim Kuzevanov
1dcbc33b53
make it compile with cmake 2.8/gcc 4.7.3
2016-07-01 17:29:35 +03:00
Martijn Otto
17693ef549
Correctly remove the dependency files on clean and fix frame errors on architectures where chars default to unsigned,
...
fixes issue #52
2016-07-01 16:00:44 +02:00
Rafal Goslawski
f3343ad1cb
Bump version to 2.6.0
2016-06-30 11:19:54 +02:00
Martijn Otto
b91e0589f6
Updated cmake lists and added include, closes issue #75
2016-06-28 14:14:07 +02:00
Martijn Otto
2f1851728c
Merge pull request #72 from XeCycle/fionread-solaris
...
Some portability fixes for Solaris-like systems
2016-06-27 10:57:24 +02:00
Martijn Otto
3292424daa
Merge branch 'deferredconsumerbase-missing-include' of git://github.com/javeme/AMQP-CPP
2016-06-27 10:53:13 +02:00
Martijn Otto
d911d71dfa
Removed the ugly typedef
2016-06-27 10:52:58 +02:00
Martijn Otto
45131a1884
Merge branch 'javeme-aligned_storage-crash'
2016-06-27 10:48:51 +02:00
javeme
5c3ba7b00a
Program crashes when receiving a message due to memory corruption
...
crashes due to the wrong way using aligned_storage.
Steps to reproduce:
1. Start a consumer
channel.consume(queue, tag).onMessage(msgCallback)
2. Send a message to the consumer
3. The program crashes
Environment:
Windows 7 / VS2010
The reason:
The Windows prompted to memory corruption, I found some strange phenomenon
about stack_ptr<Message>, such as:
1.sizeof(stack_ptr<Message>) is equal to 2
2.stack_ptr._initialized becomes true after construct() called (actually,
it never has been assigned true, please see [1])
Finally I found that the root cause was stack_ptr._data, we directly used
aligned_storage rather than aligned_storage::type[2] as the type of _data.
so the _data was just an empty struct, and subsequent operations were
performed in illegal memory. It eventually led to the crash.
This patch we fixed the bug and add "_initialized = true" at the end of the
method stack_ptr::construct().
[1] https://github.com/CopernicaMarketingSoftware/AMQP-CPP/blob/master/include/stack_ptr.h#L83
[2] http://www.cplusplus.com/reference/type_traits/aligned_storage/
2016-06-27 02:03:15 +08:00
javeme
49eef84883
Bugfix: add missing include "includes.h" for deferredconsumerbase.cpp
...
When I compiled on the windows, there was a lot of errors like:
error C2065: "xxx": undeclared identifier...
2016-06-27 00:37:31 +08:00
Carl Lei
55aba43078
portability fix for pow overload resolution
...
On Solaris the compiler is missing the template overload.
2016-06-25 20:15:44 +08:00
Carl Lei
6d71b73063
portability fix for FIONREAD on Solaris
2016-06-25 20:15:12 +08:00
Martijn Otto
ba6b3e2923
Copied the methods to both implementations so they can return their concrete type
2016-06-23 16:02:04 +02:00
Martijn Otto
434a0fad52
Merge branch 'master' of github.com:CopernicaMarketingSoftware/AMQP-CPP
2016-06-23 14:43:10 +02: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
5e88fd3e75
fixed reallocation bug
2016-06-22 13:49:49 +02:00
Emiel Bruijntjes
2a0b0de409
updated README to explain the connection::expected() method
2016-06-15 15:07:32 -04:00
Emiel Bruijntjes
3d9b5b444b
fixed issues that caused reading data to be broken
2016-06-15 14:50:33 -04:00
Emiel Bruijntjes
99abd157e5
removed tcpbuffer and replaced it with a tcpoutbuffer
2016-06-15 13:41:14 -04:00
Emiel Bruijntjes
bc01c82e80
added buffer
2016-06-15 13:32:40 -04:00
Emiel Bruijntjes
24c8527b5d
added tcpinbuffer with much less allocation
2016-06-15 13:32:30 -04:00
Emiel Bruijntjes
6320e2ae0e
added consistent-hash exchange (same as pull request #68 )
2016-06-15 11:20:31 -04:00
Emiel Bruijntjes
ec9630ced7
Merge branch 'master' of https://github.com/CopernicaMarketingSoftware/AMQP-CPP
2016-06-15 07:27:11 -04:00