Commit Graph

35 Commits

Author SHA1 Message Date
Michael van der Werve 295642cfcd {auto} renamed confirmed to tagger and added unacknowledged counter' 2020-10-21 11:50:34 +02:00
Michael van der Werve 2262d92938 {auto} disconnected explicit requirement of reliable and throttle 2020-10-21 10:36:39 +02:00
Emiel Bruijntjes 31f2d78778 Breaking change: the channel.publish() method no longer returns a DeferredPublisher-object, because it was not logical that you had to reinstall the callbacks for bounce-methods after each individual publish() call, not was it logical that the callbacks were not always logically linked to the publish() operation that failed (they were always sent to the handler of the most recent publish() instead of to the handler of the failed publish()). At the same time we added a channel.recall() method that can be used to notify the library that user-space is prepared to recall/take-back/accept bounced messages 2020-10-19 08:52:50 +02:00
Emiel Bruijntjes 2e49fd1220
Merge pull request #345 from tarhan/master
Added Void field type
2020-10-14 21:02:12 +02:00
Michael van der Werve 0b9f4e4af5 {auto} initial implementation of the confirmed wrapper 2020-10-07 11:49:38 +02:00
Michael van der Werve f10e861532
{auto} renamed the throttledchannel to AMQP::Throttle, since it is only a wrapper and not strictly a channel (#366) 2020-10-07 10:04:05 +02:00
Michael van der Werve 94bf5fe74b initial implementation 2020-10-06 15:14:42 +02:00
Emiel Bruijntjes 5d95ba824f moved the ReceivedFrame class to the src-directory, as it is of no use for userspace applications 2020-08-14 12:24:40 +02:00
Emiel Bruijntjes b03cc6ff1c the ReceivedFrame class has been split into a InBuffer base class to make it easier to store messages without having to construct a full frame 2020-08-14 12:20:22 +02:00
Dmitriy Lekomtsev bc4b9aa163 Added setting nullptr for Table's key 2020-07-29 18:35:11 +03:00
Dmitriy Lekomtsev 1c4917bead Added Void field type 2020-07-29 16:21:28 +03:00
Marcin Gibula bf1caa1eae Add DeferredConfirm class 2018-05-14 21:05:49 +02:00
Marcin Gibula bfd91b6ab5 Merge with upstream 2018-04-10 10:30:01 +02: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
Aart Stuurman cf7261add5 Reordered public include files so they are now in include/amqpcpp/. 2018-01-24 01:58:18 +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
Marcin Gibula c7a12d22c1 Add confirm.select and confirm.select-ok frames 2017-06-08 22:00:28 +02:00
Okke bdae991324 Moved header files to include/ because of broken header dependencies 2017-03-09 11:53:13 +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
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
Maksim Kuzevanov 1dcbc33b53 make it compile with cmake 2.8/gcc 4.7.3 2016-07-01 17:29:35 +03:00
Emiel Bruijntjes e2ce7103aa disable the nagle algorithm to speed up write operations to the tcp connections (and dramatically improving write performance) fixes issue 50 2015-12-07 14:05:49 +01:00
Emiel Bruijntjes 89efd4670f fix windows build 2015-11-01 11:11:51 +01:00
Emiel Bruijntjes b4bd61580b fixed to parsing incoming tcp data 2015-11-01 09:43:17 +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
Jakub Stefanski 6782a7bfd4 Fix Windows build
Fixed windef.h shadowing of 'max' definition and added LEAN_AND_MEAN
definition for more lightweight build.
Added missing 'functional' includes.
2015-10-02 15:54:15 +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 3a4de6194c removed symlinks from repository because not all systems (hello windows) understand them 2015-04-24 09:58:32 +02:00
Emiel Bruijntjes 301b8153e3 deferred objects are now correctly destructed + added extra checks so that no crashes occur when someone destructs a channel inside a callback function 2014-04-15 12:25:56 +02:00
Emiel Bruijntjes 5680ea8f11 fix the library after the rename operation 2014-01-07 01:17:09 -08:00
Emiel Bruijntjes aba769f5cb monitor class moved from include directory to src 2014-01-06 13:34:54 -08:00
Emiel Bruijntjes a442a4773a use default compiler 2014-01-06 09:21:15 -08:00
Emiel Bruijntjes cf1cbfa551 implemented consuming, refactored a lot of code from cpp files to header files 2014-01-05 09:50:41 -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 ea4f82ac8f Initial commit with the implementation of all methods apart from the publish and consume methods 2014-01-04 03:45:04 -08:00