Reimplement libboostasio#534
Conversation
|
FYI, I just tested this You need to change line 120-122 from: to: The current code as written does not compile with at least boost 1.87.0 Otherwise, the minimal testing I've done seems to show this patch works, and allows me to connect with SSL appropriately, and even, because I am doing the connection myself, I can adjust certificate verification and support mTLS (which RabbitMQ supports). @matwey could you update this as per the above, and @EmielBruijntjes , could we get this merged? |
|
@corporategoth I need some time to return into the context. Don't expect me to reply soon. |
|
Your code won't work as you expected: auto const_buffers = _rx_streambuf.data();
for (const auto* buffer = boost::asio::buffer_sequence_begin(const_buffers);
buffer != boost::asio::buffer_sequence_end(const_buffers); ++buffer) {
consumed_total += _connection.parse(reinterpret_cast<const char*>(buffer->data()), buffer->size());
}The reason is that |
Provide better implementation for Boost.ASIO library support. New implementation have the following advantages over existing one: * all OS supported * TLS/SSL is supported natively on all OS using Boost.ASIO * Boost.ASIO multithreading support is safe and correct (see examples/libboostasio_multithreading.cpp)
|
@corporategoth FYI, I've just force-pushed an updated version that is suitable for all Boost versions. It still relies on Boost implementation details but has a compile-time guard for the case when they change. |
Provide better implementation for Boost.ASIO library support. New implementation have the following advantages over existing one: