Commit Graph

221 Commits

Author SHA1 Message Date
Emiel Bruijntjes 872d4e9a11 implemented flushing for ssl connections 2018-03-08 13:09:56 +01:00
Emiel Bruijntjes bc4db8d8fe elegant shutdown for ssl connections 2018-03-08 12:11:45 +01:00
Emiel Bruijntjes 38d504d8a0 reportClosed() is never called when still busy with ssl handshake, so that method has been removed, and better handling of scenarion in which user space destructs connections in onError() implementation 2018-03-08 11:20:07 +01:00
Emiel Bruijntjes 25df834e74 prevent ssl errors or reference count errors when copying around ssl objects 2018-03-08 11:04:39 +01:00
Emiel Bruijntjes cea5a54487 fix bug: error about missing openssl was also reported when not even opening a secure connection 2018-03-08 10:44:42 +01:00
Emiel Bruijntjes 9a08c64ff7 more elegant close procedure for tcp connections 2018-03-08 10:37:49 +01:00
Emiel Bruijntjes f23bcf19f1 improved docblocks in tcpstate.h header file, when an error or closed is reported to user space, the _handler variable is now reset to prevent that it will be used to report more than once (we still need to check if this does not trigger other errors), and the state object is no longer destructed after a reportClosed() call, so that it can clean up nicely (which we need to the tls shutdown anyway) 2018-03-08 10:02:42 +01:00
Emiel Bruijntjes 8065cfe940 update docblock 2018-03-06 22:06:41 +01:00
Emiel Bruijntjes 7aa7794e3e work in progress on ssl implementation 2018-03-06 22:03:53 +01:00
Emiel Bruijntjes 0ca9bc9dad added error in case openssl is missing 2018-03-06 18:07:34 +01:00
Emiel Bruijntjes 25d5410b13 fixed some compile issues 2018-03-06 17:52:44 +01:00
Tamas Elekes 8ba8ed1727 dynamically loading openssl funtions during runtime work in progress 2018-03-06 14:40:46 +01:00
Tamas Elekes 3bb7714f3b dynamically loading openssl funtions during runtime work in progress 2018-03-06 14:39:36 +01:00
Emiel Bruijntjes baa4450aa6 update indentation 2018-03-06 09:44:24 +01:00
Emiel Bruijntjes 69596e49dc removed tabs 2018-03-06 08:40:44 +01:00
Emiel Bruijntjes 69c615d0a4 removed tcp prefix from all ssl related classes 2018-03-06 08:39:42 +01:00
Emiel Bruijntjes 72ffd5eb1a disabled ssl for the time being 2018-03-05 22:25:58 +01:00
Emiel Bruijntjes 463eed89c0 work in progress on closing ssl connections 2018-03-05 22:24:19 +01:00
Emiel Bruijntjes 4a51c5dd60 improve ssl handshake methods 2018-03-05 20:08:09 +01:00
Emiel Bruijntjes fa5ef5318a work in progress on dealing with secure connections 2018-03-05 19:53:53 +01:00
Tamas Elekes e46dfcf3b8 work in progress on ssl support for the AMQP-CPP library 2018-03-05 17:29:37 +01:00
Tamas Elekes 9c1a09a711 ssl connection WIP 2018-03-02 16:56:35 +01:00
Tamas Elekes 342268e50a support for amqps:// addresses in the AMQP::Address class (although it does not yet make a real secure connection) 2018-03-02 13:53:00 +01:00
Emiel Bruijntjes 2a0a6f3fb7 update cmake stuff 2018-03-01 23:13:07 +01:00
Emiel Bruijntjes 41239a1952 fixed to make returning message functional, and added test code 2018-03-01 22:54:50 +01:00
Emiel Bruijntjes 1ccd93cc5e final step (although untested) for handling returned messages 2018-03-01 22:27:27 +01:00
Emiel Bruijntjes 1f3500cee8 breaking changes:
channel.publish() now returns a DeferredConsumer object on which callbacks can be installed for handling returned messages,
channel.get().onSize() has a different behavior: it now reports the message size (and no longer the queue size),
channel.get().onCount() has been added: it reports the queue size (this used to be the onSize() method),
channel.consume().onSize() method has been added to find out the size of the upcoming message
2018-03-01 21:12:53 +01:00
Emiel Bruijntjes f39df772d3 breaking changes:
channel.publish() now returns a DeferredConsumer object on which callbacks can be installed for handling returned messages,
channel.get().onSize() has a different behavior: it now reports the message size (and no longer the queue size),
channel.get().onCount() has been added: it reports the queue size (this used to be the onSize() method),
channel.consume().onSize() method has been added to find out the size of the upcoming message
2018-03-01 21:12:50 +01:00
Emiel Bruijntjes ef76876d67 refactored code to make room for a deferredpublisher class (which will also use the deferredreceiver base class) 2018-03-01 18:07:18 +01:00
Emiel Bruijntjes 520fe40201 refactored handling of incoming messages from consume and get operations, to prepare for future handling of returned messages and publisher confirms. this also implies a small change to the api: the begin-callback when a message is received now also gets the original exchange and routing key (which could be useful) 2018-03-01 17:34:27 +01:00
Emiel Bruijntjes 3ccc6af475 added deferredreceiver files (forgotter in prev commit) 2018-02-27 05:09:03 +01:00
Emiel Bruijntjes e0feb17ecc renamed deferredconsumerbase into deferredreceiver, because it is not only a base class for the consumer, but also for other receiving operations: get requests and in the future also for returned messages 2018-02-27 05:08:21 +01:00
Emiel Bruijntjes ec327de396 less conservative caching of outgoing data. This fixes #184 2018-02-07 10:08:32 +01:00
Emiel Bruijntjes f5540e9af2 fixed autodelete flag for declaring an exchange and added support for internal exchange. this fixes #183 2018-02-06 21:54:56 +01:00
zerodefect 4b2c423896 Build examples now with travis-ci to ensure new changes don't break existing code. Fixed warnings as a result of lambda captures. 2018-01-30 10:07:27 +00:00
Aart Stuurman f64b705c19 Merge branch 'clean-build' of https://github.com/surgura/AMQP-CPP into clean-build 2018-01-28 22:20:18 +01:00
Aart Stuurman dd6bbada96 Fix build error for Make where include files could not be found. Make now installs headers correctly. 2018-01-26 23:04:01 +01:00
Aart Stuurman d0bfa0bfc7 Updated Makefile to have same results as before the update. 2018-01-26 22:14:43 +01:00
Aart Stuurman f25efd2235 Merge https://github.com/CopernicaMarketingSoftware/AMQP-CPP into travis 2018-01-25 18:17:43 +01:00
Aart Stuurman 413af81635 Fixed unix compile error after previous commit. 2018-01-24 02:03:16 +01:00
Aart Stuurman cf7261add5 Reordered public include files so they are now in include/amqpcpp/. 2018-01-24 01:58:18 +01:00
Aart Stuurman b211fc7779 fixed 32 bit warnings. 2018-01-24 00:38:07 +01:00
Aart Stuurman 715b683867 restore ignore file for make. 2018-01-23 19:22:33 +01:00
Aart Stuurman 80850810d3 fixed compile error at linux_tcp 2018-01-23 19:17:49 +01:00
Aart Stuurman 27f765b5f7 linux tcp is now opt-out instead of opt-in(to keep compatibility with the original lib). 2018-01-23 19:15:10 +01:00
Aart Stuurman b1be2267f6 comments 2018-01-23 19:02:46 +01:00
Aart Stuurman 5701d28b2b added BUILD_TCP option to build the linux sockets implementation. 2018-01-23 18:49:59 +01:00
Emiel Bruijntjes 9935f8414b update copyright year when connection is established to rabbitmq 2018-01-23 17:17:21 +01:00
Aart Stuurman 001dfaa7e0 - Moved linux specific TCP implementation to a seperate folder and removed it from default build. Does not yet build correctly if you want that.
- Fixed conversion warnings from <some integer> type to uint32_t, which happens a lot around here. This is no functional change, just making it explicit so the compiler doesn't warn.
2018-01-23 16:47:53 +01:00
Emiel Bruijntjes f05aba0782 added TcpConnection::fileno() to expose the internal filedescriptor / socket 2017-12-12 17:10:51 +01:00