Commit Graph

593 Commits

Author SHA1 Message Date
zerodefect 3d33332c23 Contint with gcc8/clang6 and Ubuntu Bionic LTS (#236)
* Updated container to bionic / added support for gcc-8.
* Specify compiler for gcc-6
* Added support for clang 6.
2018-07-17 10:37:34 +02:00
Michael van der Werve 8c44850792
Add AppVeyor badge
We have the build file, so it's nice to display the badge as well.
2018-07-17 10:34:56 +02:00
Emiel Bruijntjes 68272312fa
Merge pull request #235 from pabigot/pr/235
cleanup fixes in linux-tcp
2018-06-24 18:12:31 +02:00
Peter A. Bigot 94bff62986 Monitor: avoid null pointer dereference when copying instances
When the copy constructor was added to allow passing a monitor by value
into a lambda the implementation did not account for the possibility of
the watchable having already been destroyed.

Also provide the companion copy assignment to complete the triad.
2018-06-24 10:31:21 -05:00
Peter A. Bigot adf4fb3bc1 TcpResolver: reduce risk of accessing destructed TcpConnection
Invoking TcpHandler::onError might result in the connection being
destroyed.  Though the reference to it in TcpClosed() is likely benign,
it's safer to follow the standard practice of returning a nullptr to
indicate that the connection is known to be destroyed.
2018-06-24 10:31:21 -05:00
Emiel Bruijntjes e665916b85 Merge branch 'master' of github.com:CopernicaMarketingSoftware/AMQP-CPP 2018-06-15 09:19:37 +02:00
Emiel Bruijntjes 80ce6327bb fixed ssl handling: the sslconnected class incorrectly cached the readability/writability state of a socket, even after it already did a read- or write-operation, which could lead to the system getting to read mode when no data was expected 2018-06-15 09:19:27 +02:00
Emiel Bruijntjes 2430da76c3 refactored code 2018-06-10 20:46:11 +02:00
Emiel Bruijntjes a3a6a27efc
Merge pull request #230 from xqing2003/patch-1
fix memory leak
2018-06-10 20:40:20 +02:00
xqing2003 e40006058e
fix memory leak
fix memory leak when channel error
2018-06-06 22:11:55 +08:00
xqing2003 7737917886
solve memory leak 2018-06-01 23:30:30 +08:00
Rafal Goslawski 9aafe15620
Update CMakeLists.txt
Bump version to 3.1.0
2018-05-22 11:24:21 +02:00
Rafal Goslawski 0efac6a8da
Update Makefile
Bump version to 3.1.0
2018-05-22 11:24:19 +02:00
Emiel Bruijntjes 025fdb5530
Merge pull request #134 from mgibula/master
Add Publisher Confirms support
2018-05-14 22:42:56 +02:00
Marcin Gibula cab0602dbf Forgot to set ChannelImpl::_confirm 2018-05-14 22:36:49 +02:00
Marcin Gibula 26313cc775 Update documentation 2018-05-14 22:04:36 +02:00
Marcin Gibula 578abbf973 Update src/CMakeLists.txt 2018-05-14 21:44:01 +02:00
Marcin Gibula ddee073278 Add onAck and onNack methods 2018-05-14 21:40:30 +02:00
Marcin Gibula 1a955b39af Add deferredconfirm.h to amqpcpp.h 2018-05-14 21:35:08 +02:00
Marcin Gibula 76cf06d0ba Comment fix 2018-05-14 21:34:43 +02:00
Marcin Gibula 2aa55b83c7 Replace old API with DeferredConfirm class 2018-05-14 21:12:34 +02:00
Marcin Gibula bf1caa1eae Add DeferredConfirm class 2018-05-14 21:05:49 +02:00
Marcin Gibula a90c620709 Add BasicAckFrame and BasicNackFrame to class list 2018-05-14 21:05:07 +02:00
Marcin Gibula eeee1c3c5f Rename setConfirmMode() to confirmSelect() 2018-05-14 12:59:20 +02:00
Marcin Gibula e0b04ad7e0 Remove messageCounter() 2018-05-14 12:55:15 +02:00
Emiel Bruijntjes 976e948cb0 added comments 2018-05-11 11:58:55 +02:00
Emiel Bruijntjes ab603ce007
Merge pull request #226 from mathiasdevos/master
Fixed unused parameter warnings in header files
2018-05-11 11:51:55 +02:00
Mathias Devos 9bb20437d0 Fixed unused parameter warnings in header files 2018-05-11 08:52:43 +08:00
Emiel Bruijntjes 3e94d9c502
Merge pull request #217 from pabigot/issue/214
numericfield: cleanup for floating point types
2018-05-01 22:18:34 +02:00
Rafal Goslawski 5b18c984b3
set Makefile soname to 3.0.2 2018-04-30 12:15:27 +02:00
Emiel Bruijntjes 5d69cc567c more calls to openssl::err_clear_error() to prevent that the error queue contains errors that are not related to the operations that is being checked 2018-04-27 12:38:06 +02:00
Emiel Bruijntjes 670c4ac993
Merge pull request #222 from trevorperrin/SSL_Clear_Error
Clear SSL Error Queue
2018-04-27 12:27:09 +02:00
Trevor Perrin 416e244b31 Clear SSL Error Queue
The OpenSSL documentation states that the error queue for the current
thread needs to be emptied prior to the next TLS/SSL I/O operation,
or the call to SSL_get_error() will not be reliable.
2018-04-26 15:50:32 -05:00
Peter A. Bigot 4d34c582d0 numericfield: cleanup for floating point types
Rework so floating point values are supported to the same degree as
integer values.

Closes #214
2018-04-22 16:30:37 -05:00
Emiel Bruijntjes d0a56f4235
Merge pull request #215 from pabigot/pr/213
Envelope: ensure const objects cannot be changed through _body
2018-04-21 01:59:22 +02:00
Peter A. Bigot d0b5189d1e Envelope: ensure const objects cannot be changed through _body
In commit 00b81949d3 where Message and
Envelope objects were made uncopiable the Envelope _body member was
changed from const char * to char * and a const_cast introduced to
remove the qualifier from the pointer passed to the constructor.

This technically produces undefined behavior when constructing an
Envelope() to publish data from a const buffer.  It also risks future
bugs if a new subclass of Envelope mutates const objects through the
_body pointer.

Envelope does not need to support mutable or owned content.  Move this
capability down to Message which is used in restricted situations where
the body size is set once and its content built up piecewise.
2018-04-20 18:27:53 -05:00
Emiel Bruijntjes 42c7010fe9
Merge pull request #213 from pabigot/issue/212
CMakeLists: generate and install pkg-config file
2018-04-20 16:39:26 +02:00
Peter A. Bigot 789d512c39 CMakeLists: generate and install pkg-config file
Closes issue #212
2018-04-20 09:20:20 -05:00
Emiel Bruijntjes d857fbafde better comment for the channel::consume() call, the comment about the consumer tag was wrong (fixes #211) 2018-04-19 09:56:35 +02:00
Emiel Bruijntjes ce5ba55b01
Merge pull request #210 from theirix/fix_vdtor
Added virtual dtor to OutBuffer
2018-04-18 14:49:26 +02:00
theirix a624bc872c Added virtual dtor to OutBuffer 2018-04-18 15:46:46 +03:00
Emiel Bruijntjes 76144088cb
Merge pull request #209 from theirix/fix-const_cast
Replaced C-casts with const_cast for Envelope::body_
2018-04-18 14:39:45 +02:00
theirix 539128e559 Replaced C-casts with const_cast for Envelope::body_ 2018-04-18 14:59:35 +03:00
Emiel Bruijntjes 6389795d47 libev example code now also starts a timer to publish data to the queue 2018-04-13 09:45:57 +02: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
Aljar Meesters 93a9b37843 {auto} fixed typo in readme 2018-04-11 16:02:50 +02:00
Marcin Gibula bfd91b6ab5 Merge with upstream 2018-04-10 10:30:01 +02:00
Emiel Bruijntjes 9077111f03 update version number in Makefile 2018-04-05 11:13:52 +02:00
Emiel Bruijntjes 69a201e741 optimizid dealing with ssl connections by not going back to the event loop that often, and prevented that object was staying in send state if it was endlessly sending data and not receiving anything, found this out when working on issue #207 2018-04-05 11:10:55 +02:00
Emiel Bruijntjes b26058f3e2 renamed bytesQueued() to queued() 2018-04-01 22:34:15 +02:00