Emiel Bruijntjes
b81bc340b5
work in progress on refactored tcp handling, to solve various issues, like the one that lost connections do not trigger operations to fail
2018-11-04 23:34:31 +01:00
Emiel Bruijntjes
62a4262a58
the TcpConnection::close() method now supports an "immediate" parameter to skip the official amqp handshake for closing down
2018-10-28 18:13:13 +01:00
Emiel Bruijntjes
8546f52cd0
added onAttached() and onDetached() to the TcpHandler interface
2018-10-28 10:22:01 +01:00
Emiel Bruijntjes
c52e8ff0b2
added ConnectionHandler::onAttached() and ConnectionHandler::onDetached() methods
2018-10-28 10:04:34 +01:00
Emiel Bruijntjes
c0241cac67
Merge pull request #195 from Aleksandrius/master
...
Fixed MinGW compilation on Windows
2018-10-27 12:52:52 +02:00
Emiel Bruijntjes
11af8a7f6b
Merge pull request #218 from RZRCDR/fix_msvc_compiler_warnings
...
Fix msvc compiler warnings
2018-10-27 12:52:07 +02:00
Youri Moll
ba532e0434
onError should be overloaded by subclass, otherwise callback installers are no longer available for that class.
2018-09-21 12:26:23 +02:00
Michael van der Werve
757feb10c6
tcpchannel should also be movable
2018-08-31 15:01:10 +02:00
Michael van der Werve
31f6a18f37
channel should be movable
2018-08-31 14:44:19 +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
Emiel Bruijntjes
025fdb5530
Merge pull request #134 from mgibula/master
...
Add Publisher Confirms support
2018-05-14 22:42:56 +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
Mathias Devos
9bb20437d0
Fixed unused parameter warnings in header files
2018-05-11 08:52:43 +08:00
Dirkco du Plessis
5ec49d5b8a
Added CountCallback to support 32bit unsigned int passed in defferedget.
2018-04-23 08:30:37 +01: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
Dirkco du Plessis
1479922901
Fix MSVC compile warning C4800 for bitwise operation resulting in int to boolean assignment.
...
Fix MSVC compile warning C4244 possible loss of data. Possible data loss from uint64_t to uint32_t.
2018-04-22 15:53:52 +01: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
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
theirix
a624bc872c
Added virtual dtor to OutBuffer
2018-04-18 15:46:46 +03:00
theirix
539128e559
Replaced C-casts with const_cast for Envelope::body_
2018-04-18 14:59:35 +03: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
Marcin Gibula
bfd91b6ab5
Merge with upstream
2018-04-10 10:30:01 +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
Mike Playle
8800d2917e
Add method to return the amount of queued outgoing data
2018-04-01 10:54:05 +01:00
tilsche
cf7d2e49ff
allow for a clean shutdown of asio connections
...
remove heartbeat timer on close
make sure only weak references are stored in bindings even below C++17
2018-03-12 12:07:09 +01:00
Emiel Bruijntjes
f1c32242f7
Merge branch 'master' of github.com:CopernicaMarketingSoftware/AMQP-CPP
2018-03-10 14:56:18 +01:00
Emiel Bruijntjes
d2b2d5af14
shared-ptr has been turned into a unique-ptr for the tcp-state
2018-03-10 14:55:57 +01:00
Emiel Bruijntjes
11786ff10b
update docblock in boostasio class to warn users about the possible low quality of the code
2018-03-10 14:55:23 +01:00
Emiel Bruijntjes
23cae9de84
fixed Address constructor
2018-03-10 10:32:48 +01:00
Emiel Bruijntjes
d81565fe6a
fixed that stream operator of address wrote the port number when the default amqps port was used
2018-03-10 10:31:40 +01:00
Emiel Bruijntjes
1ee18911ce
fixed writing address to std::stream
2018-03-10 10:20:52 +01:00
Emiel Bruijntjes
367de51d77
added method to intercept tls handshakes, and to verify certificates
2018-03-10 00:59:14 +01:00
Emiel Bruijntjes
4c2b8ff68e
added ability to set the handle to the openssl library (so that programs that load openssl via dlopen() can still use amqp-cpp)
2018-03-09 15:08:52 +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
Aleksandr Serbin
b0adbb1878
Fixed MinGW compilation on Windows
2018-03-06 18:58:02 +02:00
Emiel Bruijntjes
a025e6c1c9
breaking change: the linux-tcp module is no longer included by default, applications that rely on this now have to explicitly include amcpcpp/linux_tcp
2018-03-06 08:46:17 +01:00
Emiel Bruijntjes
5b8841c937
removed more tabs
2018-03-06 08:45:12 +01:00
Emiel Bruijntjes
69c615d0a4
removed tcp prefix from all ssl related classes
2018-03-06 08:39:42 +01:00
Emiel Bruijntjes
463eed89c0
work in progress on closing ssl connections
2018-03-05 22:24:19 +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
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