diff options
| author | Tobias Markmann <tm@ayena.de> | 2014-10-19 20:22:58 (GMT) |
|---|---|---|
| committer | Tobias Markmann <tm@ayena.de> | 2014-10-20 13:49:33 (GMT) |
| commit | 6b22dfcf59474dd016a0355a3102a1dd3692d92c (patch) | |
| tree | 2b1fd33be433a91e81fee84fdc2bf1b52575d934 /3rdParty/Boost/src/boost/asio/impl/read.hpp | |
| parent | 38b0cb785fea8eae5e48fae56440695fdfd10ee1 (diff) | |
| download | swift-contrib-6b22dfcf59474dd016a0355a3102a1dd3692d92c.zip swift-contrib-6b22dfcf59474dd016a0355a3102a1dd3692d92c.tar.bz2 | |
Update Boost in 3rdParty to version 1.56.0.
This updates Boost in our 3rdParty directory to version 1.56.0.
Updated our update.sh script to stop on error.
Changed error reporting in SwiftTools/CrashReporter.cpp to SWIFT_LOG due to
missing include of <iostream> with newer Boost.
Change-Id: I4b35c77de951333979a524097f35f5f83d325edc
Diffstat (limited to '3rdParty/Boost/src/boost/asio/impl/read.hpp')
| -rw-r--r-- | 3rdParty/Boost/src/boost/asio/impl/read.hpp | 159 |
1 files changed, 109 insertions, 50 deletions
diff --git a/3rdParty/Boost/src/boost/asio/impl/read.hpp b/3rdParty/Boost/src/boost/asio/impl/read.hpp index 9290cd4..86f8776 100644 --- a/3rdParty/Boost/src/boost/asio/impl/read.hpp +++ b/3rdParty/Boost/src/boost/asio/impl/read.hpp @@ -3,5 +3,5 @@ // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -25,4 +25,5 @@ #include <boost/asio/detail/dependent_type.hpp> #include <boost/asio/detail/handler_alloc_helpers.hpp> +#include <boost/asio/detail/handler_cont_helpers.hpp> #include <boost/asio/detail/handler_invoke_helpers.hpp> #include <boost/asio/detail/handler_type_requirements.hpp> @@ -84,5 +85,5 @@ inline std::size_t read(SyncReadStream& s, const MutableBufferSequence& buffers, } -#if !defined(BOOST_NO_IOSTREAM) +#if !defined(BOOST_ASIO_NO_IOSTREAM) template <typename SyncReadStream, typename Allocator, @@ -139,5 +140,5 @@ inline std::size_t read(SyncReadStream& s, } -#endif // !defined(BOOST_NO_IOSTREAM) +#endif // !defined(BOOST_ASIO_NO_IOSTREAM) namespace detail @@ -155,4 +156,5 @@ namespace detail stream_(stream), buffers_(buffers), + start_(0), total_transferred_(0), handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)) @@ -165,4 +167,5 @@ namespace detail stream_(other.stream_), buffers_(other.buffers_), + start_(other.start_), total_transferred_(other.total_transferred_), handler_(other.handler_) @@ -174,4 +177,5 @@ namespace detail stream_(other.stream_), buffers_(other.buffers_), + start_(other.start_), total_transferred_(other.total_transferred_), handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(other.handler_)) @@ -183,5 +187,5 @@ namespace detail std::size_t bytes_transferred, int start = 0) { - switch (start) + switch (start_ = start) { case 1: @@ -208,4 +212,5 @@ namespace detail boost::asio::detail::consuming_buffers< mutable_buffer, MutableBufferSequence> buffers_; + int start_; std::size_t total_transferred_; ReadHandler handler_; @@ -226,4 +231,5 @@ namespace detail stream_(stream), buffer_(buffers), + start_(0), total_transferred_(0), handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)) @@ -236,4 +242,5 @@ namespace detail stream_(other.stream_), buffer_(other.buffer_), + start_(other.start_), total_transferred_(other.total_transferred_), handler_(other.handler_) @@ -245,4 +252,5 @@ namespace detail stream_(other.stream_), buffer_(other.buffer_), + start_(other.start_), total_transferred_(other.total_transferred_), handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(other.handler_)) @@ -255,5 +263,5 @@ namespace detail { std::size_t n = 0; - switch (start) + switch (start_ = start) { case 1: @@ -279,4 +287,5 @@ namespace detail AsyncReadStream& stream_; boost::asio::mutable_buffer buffer_; + int start_; std::size_t total_transferred_; ReadHandler handler_; @@ -296,4 +305,5 @@ namespace detail stream_(stream), buffers_(buffers), + start_(0), total_transferred_(0), handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)) @@ -306,4 +316,5 @@ namespace detail stream_(other.stream_), buffers_(other.buffers_), + start_(other.start_), total_transferred_(other.total_transferred_), handler_(other.handler_) @@ -315,4 +326,5 @@ namespace detail stream_(other.stream_), buffers_(other.buffers_), + start_(other.start_), total_transferred_(other.total_transferred_), handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(other.handler_)) @@ -331,5 +343,5 @@ namespace detail std::size_t buffer_size1 = boost::asio::buffer_size(bufs[1]); std::size_t n = 0; - switch (start) + switch (start_ = start) { case 1: @@ -358,4 +370,5 @@ namespace detail AsyncReadStream& stream_; boost::array<Elem, 2> buffers_; + int start_; std::size_t total_transferred_; ReadHandler handler_; @@ -377,4 +390,5 @@ namespace detail stream_(stream), buffers_(buffers), + start_(0), total_transferred_(0), handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)) @@ -387,4 +401,5 @@ namespace detail stream_(other.stream_), buffers_(other.buffers_), + start_(other.start_), total_transferred_(other.total_transferred_), handler_(other.handler_) @@ -396,4 +411,5 @@ namespace detail stream_(other.stream_), buffers_(other.buffers_), + start_(other.start_), total_transferred_(other.total_transferred_), handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(other.handler_)) @@ -412,5 +428,5 @@ namespace detail std::size_t buffer_size1 = boost::asio::buffer_size(bufs[1]); std::size_t n = 0; - switch (start) + switch (start_ = start) { case 1: @@ -439,4 +455,5 @@ namespace detail AsyncReadStream& stream_; std::array<Elem, 2> buffers_; + int start_; std::size_t total_transferred_; ReadHandler handler_; @@ -465,4 +482,15 @@ namespace detail } + template <typename AsyncReadStream, typename MutableBufferSequence, + typename CompletionCondition, typename ReadHandler> + inline bool asio_handler_is_continuation( + read_op<AsyncReadStream, MutableBufferSequence, + CompletionCondition, ReadHandler>* this_handler) + { + return this_handler->start_ == 0 ? true + : boost_asio_handler_cont_helpers::is_continuation( + this_handler->handler_); + } + template <typename Function, typename AsyncReadStream, typename MutableBufferSequence, typename CompletionCondition, @@ -486,20 +514,11 @@ namespace detail function, this_handler->handler_); } - - template <typename AsyncReadStream, typename MutableBufferSequence, - typename CompletionCondition, typename ReadHandler> - inline read_op<AsyncReadStream, MutableBufferSequence, - CompletionCondition, ReadHandler> - make_read_op(AsyncReadStream& s, const MutableBufferSequence& buffers, - CompletionCondition completion_condition, ReadHandler handler) - { - return read_op<AsyncReadStream, MutableBufferSequence, CompletionCondition, - ReadHandler>(s, buffers, completion_condition, handler); - } } // namespace detail template <typename AsyncReadStream, typename MutableBufferSequence, typename CompletionCondition, typename ReadHandler> -inline void async_read(AsyncReadStream& s, const MutableBufferSequence& buffers, +inline BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler, + void (boost::system::error_code, std::size_t)) +async_read(AsyncReadStream& s, const MutableBufferSequence& buffers, CompletionCondition completion_condition, BOOST_ASIO_MOVE_ARG(ReadHandler) handler) @@ -509,13 +528,22 @@ inline void async_read(AsyncReadStream& s, const MutableBufferSequence& buffers, BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check; - detail::make_read_op( - s, buffers, completion_condition, - BOOST_ASIO_MOVE_CAST(ReadHandler)(handler))( - boost::system::error_code(), 0, 1); + detail::async_result_init< + ReadHandler, void (boost::system::error_code, std::size_t)> init( + BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); + + detail::read_op<AsyncReadStream, MutableBufferSequence, + CompletionCondition, BOOST_ASIO_HANDLER_TYPE( + ReadHandler, void (boost::system::error_code, std::size_t))>( + s, buffers, completion_condition, init.handler)( + boost::system::error_code(), 0, 1); + + return init.result.get(); } template <typename AsyncReadStream, typename MutableBufferSequence, typename ReadHandler> -inline void async_read(AsyncReadStream& s, const MutableBufferSequence& buffers, +inline BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler, + void (boost::system::error_code, std::size_t)) +async_read(AsyncReadStream& s, const MutableBufferSequence& buffers, BOOST_ASIO_MOVE_ARG(ReadHandler) handler) { @@ -524,10 +552,18 @@ inline void async_read(AsyncReadStream& s, const MutableBufferSequence& buffers, BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check; - detail::make_read_op( - s, buffers, transfer_all(), BOOST_ASIO_MOVE_CAST(ReadHandler)(handler))( - boost::system::error_code(), 0, 1); + detail::async_result_init< + ReadHandler, void (boost::system::error_code, std::size_t)> init( + BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); + + detail::read_op<AsyncReadStream, MutableBufferSequence, + detail::transfer_all_t, BOOST_ASIO_HANDLER_TYPE( + ReadHandler, void (boost::system::error_code, std::size_t))>( + s, buffers, transfer_all(), init.handler)( + boost::system::error_code(), 0, 1); + + return init.result.get(); } -#if !defined(BOOST_NO_IOSTREAM) +#if !defined(BOOST_ASIO_NO_IOSTREAM) namespace detail @@ -546,4 +582,5 @@ namespace detail stream_(stream), streambuf_(streambuf), + start_(0), total_transferred_(0), handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)) @@ -556,4 +593,5 @@ namespace detail stream_(other.stream_), streambuf_(other.streambuf_), + start_(other.start_), total_transferred_(other.total_transferred_), handler_(other.handler_) @@ -565,4 +603,5 @@ namespace detail stream_(other.stream_), streambuf_(other.streambuf_), + start_(other.start_), total_transferred_(other.total_transferred_), handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(other.handler_)) @@ -575,5 +614,5 @@ namespace detail { std::size_t max_size, bytes_available; - switch (start) + switch (start_ = start) { case 1: @@ -600,4 +639,5 @@ namespace detail AsyncReadStream& stream_; boost::asio::basic_streambuf<Allocator>& streambuf_; + int start_; std::size_t total_transferred_; ReadHandler handler_; @@ -624,4 +664,15 @@ namespace detail } + template <typename AsyncReadStream, typename Allocator, + typename CompletionCondition, typename ReadHandler> + inline bool asio_handler_is_continuation( + read_streambuf_op<AsyncReadStream, Allocator, + CompletionCondition, ReadHandler>* this_handler) + { + return this_handler->start_ == 0 ? true + : boost_asio_handler_cont_helpers::is_continuation( + this_handler->handler_); + } + template <typename Function, typename AsyncReadStream, typename Allocator, typename CompletionCondition, typename ReadHandler> @@ -643,21 +694,11 @@ namespace detail function, this_handler->handler_); } - - template <typename AsyncReadStream, typename Allocator, - typename CompletionCondition, typename ReadHandler> - inline read_streambuf_op<AsyncReadStream, Allocator, - CompletionCondition, ReadHandler> - make_read_streambuf_op( - AsyncReadStream& s, boost::asio::basic_streambuf<Allocator>& b, - CompletionCondition completion_condition, ReadHandler handler) - { - return read_streambuf_op<AsyncReadStream, Allocator, CompletionCondition, - ReadHandler>(s, b, completion_condition, handler); - } } // namespace detail template <typename AsyncReadStream, typename Allocator, typename CompletionCondition, typename ReadHandler> -inline void async_read(AsyncReadStream& s, +inline BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler, + void (boost::system::error_code, std::size_t)) +async_read(AsyncReadStream& s, boost::asio::basic_streambuf<Allocator>& b, CompletionCondition completion_condition, @@ -668,11 +709,21 @@ inline void async_read(AsyncReadStream& s, BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check; - detail::make_read_streambuf_op( - s, b, completion_condition, BOOST_ASIO_MOVE_CAST(ReadHandler)(handler))( - boost::system::error_code(), 0, 1); + detail::async_result_init< + ReadHandler, void (boost::system::error_code, std::size_t)> init( + BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); + + detail::read_streambuf_op<AsyncReadStream, Allocator, + CompletionCondition, BOOST_ASIO_HANDLER_TYPE( + ReadHandler, void (boost::system::error_code, std::size_t))>( + s, b, completion_condition, init.handler)( + boost::system::error_code(), 0, 1); + + return init.result.get(); } template <typename AsyncReadStream, typename Allocator, typename ReadHandler> -inline void async_read(AsyncReadStream& s, +inline BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler, + void (boost::system::error_code, std::size_t)) +async_read(AsyncReadStream& s, boost::asio::basic_streambuf<Allocator>& b, BOOST_ASIO_MOVE_ARG(ReadHandler) handler) @@ -682,10 +733,18 @@ inline void async_read(AsyncReadStream& s, BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check; - detail::make_read_streambuf_op( - s, b, transfer_all(), BOOST_ASIO_MOVE_CAST(ReadHandler)(handler))( - boost::system::error_code(), 0, 1); + detail::async_result_init< + ReadHandler, void (boost::system::error_code, std::size_t)> init( + BOOST_ASIO_MOVE_CAST(ReadHandler)(handler)); + + detail::read_streambuf_op<AsyncReadStream, Allocator, + detail::transfer_all_t, BOOST_ASIO_HANDLER_TYPE( + ReadHandler, void (boost::system::error_code, std::size_t))>( + s, b, transfer_all(), init.handler)( + boost::system::error_code(), 0, 1); + + return init.result.get(); } -#endif // !defined(BOOST_NO_IOSTREAM) +#endif // !defined(BOOST_ASIO_NO_IOSTREAM) } // namespace asio |
Swift