| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> |
| <title>Revision History</title> |
| <link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css"> |
| <meta name="generator" content="DocBook XSL Stylesheets V1.75.2"> |
| <link rel="home" href="../boost_asio.html" title="Boost.Asio"> |
| <link rel="up" href="../boost_asio.html" title="Boost.Asio"> |
| <link rel="prev" href="reference/is_error_code_enum_lt__ssl_errors__gt_/value.html" title="boost::system::is_error_code_enum< boost::asio::error::ssl_errors >::value"> |
| <link rel="next" href="index.html" title=""> |
| </head> |
| <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> |
| <table cellpadding="2" width="100%"><tr> |
| <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td> |
| <td align="center"><a href="../../../index.html">Home</a></td> |
| <td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td> |
| <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> |
| <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> |
| <td align="center"><a href="../../../more/index.htm">More</a></td> |
| </tr></table> |
| <hr> |
| <div class="spirit-nav"> |
| <a accesskey="p" href="reference/is_error_code_enum_lt__ssl_errors__gt_/value.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../boost_asio.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="index.html"><img src="../../../doc/src/images/next.png" alt="Next"></a> |
| </div> |
| <div class="section"> |
| <div class="titlepage"><div><div><h2 class="title" style="clear: both"> |
| <a name="boost_asio.history"></a><a class="link" href="history.html" title="Revision History">Revision History</a> |
| </h2></div></div></div> |
| <a name="boost_asio.history.asio_1_4_7___boost_1_45"></a><h4> |
| <a name="id1406562"></a> |
| <a class="link" href="history.html#boost_asio.history.asio_1_4_7___boost_1_45">Asio 1.4.7 / Boost |
| 1.45</a> |
| </h4> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"> |
| <li class="listitem"> |
| Fixed a problem on kqueue-based platforms where a <code class="computeroutput"><span class="identifier">deadline_timer</span></code> |
| may never fire if the <code class="computeroutput"><span class="identifier">io_service</span></code> |
| is running in a background thread (<a href="https://svn.boost.org/trac/boost/ticket/4568" target="_top">#4568</a>). |
| </li> |
| <li class="listitem"> |
| Fixed a const-correctness issue that prevented valid uses of <code class="computeroutput"><span class="identifier">has_service</span><span class="special"><></span></code> |
| from compiling (<a href="https://svn.boost.org/trac/boost/ticket/4638" target="_top">#4638</a>). |
| </li> |
| <li class="listitem"> |
| Fixed MinGW cross-compilation (<a href="https://svn.boost.org/trac/boost/ticket/4491" target="_top">#4491</a>). |
| </li> |
| <li class="listitem"> |
| Removed dependency on deprecated Boost.System functions (<a href="https://svn.boost.org/trac/boost/ticket/4672" target="_top">#4672</a>). |
| </li> |
| <li class="listitem"> |
| Ensured <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>/<code class="computeroutput"><span class="identifier">closesocket</span><span class="special">()</span></code> |
| failures are correctly propagated (<a href="https://svn.boost.org/trac/boost/ticket/4573" target="_top">#4573</a>). |
| </li> |
| <li class="listitem"> |
| Added a check for errors returned by <code class="computeroutput"><span class="identifier">InitializeCriticalSectionAndSpinCount</span></code> |
| (<a href="https://svn.boost.org/trac/boost/ticket/4574" target="_top">#4574</a>). |
| </li> |
| <li class="listitem"> |
| Added support for hardware flow control on QNX (<a href="https://svn.boost.org/trac/boost/ticket/4625" target="_top">#4625</a>). |
| </li> |
| <li class="listitem"> |
| Always use <code class="computeroutput"><span class="identifier">pselect</span><span class="special">()</span></code> |
| on HP-UX, if it is available (<a href="https://svn.boost.org/trac/boost/ticket/4578" target="_top">#4578</a>). |
| </li> |
| <li class="listitem"> |
| Ensured handler arguments are passed as lvalues (<a href="https://svn.boost.org/trac/boost/ticket/4744" target="_top">#4744</a>). |
| </li> |
| <li class="listitem"> |
| Fixed Windows build when thread support is disabled (<a href="https://svn.boost.org/trac/boost/ticket/4680" target="_top">#4680</a>). |
| </li> |
| <li class="listitem"> |
| Fixed a Windows-specific problem where <code class="computeroutput"><span class="identifier">deadline_timer</span></code> |
| objects with expiry times set more than 5 minutes in the future may never |
| expire (<a href="https://svn.boost.org/trac/boost/ticket/4745" target="_top">#4745</a>). |
| </li> |
| <li class="listitem"> |
| Fixed the <code class="computeroutput"><span class="identifier">resolver</span></code> backend |
| on BSD platforms so that an empty service name resolves to port number |
| <code class="computeroutput"><span class="number">0</span></code>, as per the documentation |
| (<a href="https://svn.boost.org/trac/boost/ticket/4690" target="_top">#4690</a>). |
| </li> |
| <li class="listitem"> |
| Fixed read operations so that they do not accept buffer sequences of type |
| <code class="computeroutput"><span class="identifier">const_buffers_1</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/4746" target="_top">#4746</a>). |
| </li> |
| <li class="listitem"> |
| Redefined <code class="computeroutput"><span class="identifier">Protocol</span></code> and |
| <code class="computeroutput"><span class="identifier">id</span></code> to avoid clashing with |
| Objective-C++ keywords (<a href="https://svn.boost.org/trac/boost/ticket/4191" target="_top">#4191</a>). |
| </li> |
| <li class="listitem"> |
| Fixed a <code class="computeroutput"><span class="identifier">vector</span></code> reallocation |
| performance issue that can occur when there are many active <code class="computeroutput"><span class="identifier">deadline_timer</span></code> objects (<a href="https://svn.boost.org/trac/boost/ticket/4780" target="_top">#4780</a>). |
| </li> |
| <li class="listitem"> |
| Fixed the kqueue backend so that it compiles on NetBSD (<a href="https://svn.boost.org/trac/boost/ticket/4662" target="_top">#4662</a>). |
| </li> |
| <li class="listitem"> |
| Fixed the socket <code class="computeroutput"><span class="identifier">io_control</span><span class="special">()</span></code> implementation on 64-bit Mac OS X and |
| BSD platforms (<a href="https://svn.boost.org/trac/boost/ticket/4782" target="_top">#4782</a>). |
| </li> |
| <li class="listitem"> |
| Deprecated the separate compilation header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">/</span><span class="identifier">impl</span><span class="special">/</span><span class="identifier">src</span><span class="special">.</span><span class="identifier">cpp</span><span class="special">></span></code> |
| in favour of <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">/</span><span class="identifier">impl</span><span class="special">/</span><span class="identifier">src</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code> (<a href="https://svn.boost.org/trac/boost/ticket/4560" target="_top">#4560</a>). |
| </li> |
| </ul></div> |
| <a name="boost_asio.history.asio_1_4_6___boost_1_44"></a><h4> |
| <a name="id1407141"></a> |
| <a class="link" href="history.html#boost_asio.history.asio_1_4_6___boost_1_44">Asio 1.4.6 / Boost |
| 1.44</a> |
| </h4> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"> |
| <li class="listitem"> |
| Reduced compile times. (Note that some programs may need to add additional |
| <code class="computeroutput"><span class="preprocessor">#include</span></code>s, e.g. if the |
| program uses <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code> but does not explicitly include |
| <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>.) |
| </li> |
| <li class="listitem"> |
| Reduced the size of generated code. |
| </li> |
| <li class="listitem"> |
| Refactored <code class="computeroutput"><span class="identifier">deadline_timer</span></code> |
| implementation to improve performance. |
| </li> |
| <li class="listitem"> |
| Improved multiprocessor scalability on Windows by using a dedicated hidden |
| thread to wait for timers. |
| </li> |
| <li class="listitem"> |
| Improved performance of <code class="computeroutput"><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span></code> |
| with <code class="computeroutput"><span class="identifier">async_read</span><span class="special">()</span></code> |
| and <code class="computeroutput"><span class="identifier">async_read_until</span><span class="special">()</span></code>. |
| These read operations now use the existing capacity of the <code class="computeroutput"><span class="identifier">streambuf</span></code> when reading, rather than limiting |
| the read to 512 bytes. |
| </li> |
| <li class="listitem"> |
| Added optional separate compilation. To enable, add <code class="computeroutput"><span class="preprocessor">#include</span> |
| <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">asio</span><span class="special">/</span><span class="identifier">impl</span><span class="special">/</span><span class="identifier">src</span><span class="special">.</span><span class="identifier">cpp</span><span class="special">></span></code> to one source file in a program, then |
| build the program with <code class="computeroutput"><span class="identifier">BOOST_ASIO_SEPARATE_COMPILATION</span></code> |
| defined in the project/compiler settings. Alternatively, <code class="computeroutput"><span class="identifier">BOOST_ASIO_DYN_LINK</span></code> may be defined to |
| build a separately-compiled Asio as part of a shared library. |
| </li> |
| <li class="listitem"> |
| Added new macro <code class="computeroutput"><span class="identifier">BOOST_ASIO_DISABLE_FENCED_BLOCK</span></code> |
| to permit the disabling of memory fences around completion handlers, even |
| if thread support is enabled. |
| </li> |
| <li class="listitem"> |
| Reworked timeout examples to better illustrate typical use cases. |
| </li> |
| <li class="listitem"> |
| Ensured that handler arguments are passed as <code class="computeroutput"><span class="keyword">const</span></code> |
| types. |
| </li> |
| <li class="listitem"> |
| Fixed incorrect parameter order in <code class="computeroutput"><span class="identifier">null_buffers</span></code> |
| variant of <code class="computeroutput"><span class="identifier">async_send_to</span></code> |
| (<a href="https://svn.boost.org/trac/boost/ticket/4170" target="_top">#4170</a>). |
| </li> |
| <li class="listitem"> |
| Ensured <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">char</span></code> |
| is used with <code class="computeroutput"><span class="identifier">isdigit</span></code> in |
| <code class="computeroutput"><span class="identifier">getaddrinfo</span></code> emulation (<a href="https://svn.boost.org/trac/boost/ticket/4201" target="_top">#4201</a>). |
| </li> |
| <li class="listitem"> |
| Fixed handling of very small but non-zero timeouts (<a href="https://svn.boost.org/trac/boost/ticket/4205" target="_top">#4205</a>). |
| </li> |
| <li class="listitem"> |
| Fixed crash that occurred when an empty buffer sequence was passed to a |
| composed read or write operation. |
| </li> |
| <li class="listitem"> |
| Added missing <code class="computeroutput"><span class="keyword">operator</span><span class="special">+</span></code> |
| overload in <code class="computeroutput"><span class="identifier">buffers_iterator</span></code> |
| (<a href="https://svn.boost.org/trac/boost/ticket/4382" target="_top">#4382</a>). |
| </li> |
| <li class="listitem"> |
| Implemented cancellation of <code class="computeroutput"><span class="identifier">null_buffers</span></code> |
| operations on Windows. |
| </li> |
| </ul></div> |
| <a name="boost_asio.history.asio_1_4_5___boost_1_43"></a><h4> |
| <a name="id1407648"></a> |
| <a class="link" href="history.html#boost_asio.history.asio_1_4_5___boost_1_43">Asio 1.4.5 / Boost |
| 1.43</a> |
| </h4> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"> |
| <li class="listitem"> |
| Improved performance. |
| </li> |
| <li class="listitem"> |
| Reduced compile times. |
| </li> |
| <li class="listitem"> |
| Reduced the size of generated code. |
| </li> |
| <li class="listitem"> |
| Extended the guarantee that background threads don't call user code to |
| all asynchronous operations (<a href="https://svn.boost.org/trac/boost/ticket/3923" target="_top">#3923</a>). |
| </li> |
| <li class="listitem"> |
| Changed to use edge-triggered epoll on Linux. |
| </li> |
| <li class="listitem"> |
| Changed to use <code class="computeroutput"><span class="identifier">timerfd</span></code> |
| for dispatching timers on Linux, when available. |
| </li> |
| <li class="listitem"> |
| Changed to use one-shot notifications with kqueue on Mac OS X and BSD platforms. |
| </li> |
| <li class="listitem"> |
| Added a bitmask type <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">resolver_query_base</span><span class="special">::</span><span class="identifier">flags</span></code> |
| as per the TR2 proposal. This type prevents implicit conversion from <code class="computeroutput"><span class="keyword">int</span></code> to <code class="computeroutput"><span class="identifier">flags</span></code>, |
| allowing the compiler to catch cases where users incorrectly pass a numeric |
| port number as the service name. |
| </li> |
| <li class="listitem"> |
| Added <code class="computeroutput"><span class="preprocessor">#define</span> <span class="identifier">NOMINMAX</span></code> |
| for all Windows compilers. Users can define <code class="computeroutput"><span class="identifier">BOOST_ASIO_NO_NOMINMAX</span></code> |
| to suppress this definition (<a href="https://svn.boost.org/trac/boost/ticket/3901" target="_top">#3901</a>). |
| </li> |
| <li class="listitem"> |
| Fixed a bug where 0-byte asynchronous reads were incorrectly passing an |
| <code class="computeroutput"><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code> result to the completion handler |
| (<a href="https://svn.boost.org/trac/boost/ticket/4023" target="_top">#4023</a>). |
| </li> |
| <li class="listitem"> |
| Changed the <code class="computeroutput"><span class="identifier">io_control</span><span class="special">()</span></code> member functions to always call <code class="computeroutput"><span class="identifier">ioctl</span></code> on the underlying descriptor when |
| modifying blocking mode (<a href="https://svn.boost.org/trac/boost/ticket/3307" target="_top">#3307</a>). |
| </li> |
| <li class="listitem"> |
| Changed the resolver implementation to longer require the typedefs <code class="computeroutput"><span class="identifier">InternetProtocol</span><span class="special">::</span><span class="identifier">resolver_query</span></code> and <code class="computeroutput"><span class="identifier">InternetProtocol</span><span class="special">::</span><span class="identifier">resolver_iterator</span></code>, |
| as neither typedef is part of the documented <code class="computeroutput"><span class="identifier">InternetProtocol</span></code> |
| requirements. The corresponding typedefs in the <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span></code>, |
| <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">udp</span></code> and <code class="computeroutput"><span class="identifier">ip</span><span class="special">::</span><span class="identifier">icmp</span></code> |
| classes have been deprecated. |
| </li> |
| <li class="listitem"> |
| Fixed out-of-band handling for reactors not based on <code class="computeroutput"><span class="identifier">select</span><span class="special">()</span></code>. |
| </li> |
| <li class="listitem"> |
| Added new <code class="computeroutput"><span class="identifier">BOOST_ASIO_DISABLE_THREADS</span></code> |
| macro that allows Asio's threading support to be independently disabled. |
| </li> |
| <li class="listitem"> |
| Minor documentation improvements. |
| </li> |
| </ul></div> |
| <a name="boost_asio.history.asio_1_4_4___boost_1_42"></a><h4> |
| <a name="id1408083"></a> |
| <a class="link" href="history.html#boost_asio.history.asio_1_4_4___boost_1_42">Asio 1.4.4 / Boost |
| 1.42</a> |
| </h4> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"> |
| <li class="listitem"> |
| Added a new HTTP Server 4 example illustrating the use of stackless coroutines |
| with Asio. |
| </li> |
| <li class="listitem"> |
| Changed handler allocation and invocation to use <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">addressof</span></code> |
| to get the address of handler objects, rather than applying <code class="computeroutput"><span class="keyword">operator</span><span class="special">&</span></code> |
| directly (<a href="https://svn.boost.org/trac/boost/ticket/2977" target="_top">#2977</a>). |
| </li> |
| <li class="listitem"> |
| Restricted MSVC buffer debugging workaround to 2008, as it causes a crash |
| with 2010 beta 2 (<a href="https://svn.boost.org/trac/boost/ticket/3796" target="_top">#3796</a>, |
| <a href="https://svn.boost.org/trac/boost/ticket/3822" target="_top">#3822</a>). |
| </li> |
| <li class="listitem"> |
| Fixed a problem with the lifetime of handler memory, where Windows needs |
| the <code class="computeroutput"><span class="identifier">OVERLAPPED</span></code> structure |
| to be valid until both the initiating function call has returned and the |
| completion packet has been delivered. |
| </li> |
| <li class="listitem"> |
| Don't block signals while performing system calls, but instead restart |
| the calls if they are interrupted. |
| </li> |
| <li class="listitem"> |
| Documented the guarantee made by strand objects with respect to order of |
| handler invocation. |
| </li> |
| <li class="listitem"> |
| Changed strands to use a pool of implementations, to make copying of strands |
| cheaper. |
| </li> |
| <li class="listitem"> |
| Ensured that kqueue support is enabled for BSD platforms (<a href="https://svn.boost.org/trac/boost/ticket/3626" target="_top">#3626</a>). |
| </li> |
| <li class="listitem"> |
| Added a <code class="computeroutput"><span class="identifier">boost_</span></code> prefix to |
| the <code class="computeroutput"><span class="keyword">extern</span> <span class="string">"C"</span></code> |
| thread entry point function (<a href="https://svn.boost.org/trac/boost/ticket/3809" target="_top">#3809</a>). |
| </li> |
| <li class="listitem"> |
| In <code class="computeroutput"><span class="identifier">getaddrinfo</span></code> emulation, |
| only check the socket type (<code class="computeroutput"><span class="identifier">SOCK_STREAM</span></code> |
| or <code class="computeroutput"><span class="identifier">SOCK_DGRAM</span></code>) if a service |
| name has been specified. This should allow the emulation to work with raw |
| sockets. |
| </li> |
| <li class="listitem"> |
| Added a workaround for some broken Windows firewalls that make a socket |
| appear bound to 0.0.0.0 when it is in fact bound to 127.0.0.1. |
| </li> |
| <li class="listitem"> |
| Applied a fix for reported excessive CPU usage under Solaris (<a href="https://svn.boost.org/trac/boost/ticket/3670" target="_top">#3670</a>). |
| </li> |
| <li class="listitem"> |
| Added some support for platforms that use older compilers such as g++ 2.95 |
| (<a href="https://svn.boost.org/trac/boost/ticket/3743" target="_top">#3743</a>). |
| </li> |
| </ul></div> |
| <a name="boost_asio.history.asio_1_4_3___boost_1_40"></a><h4> |
| <a name="id1408367"></a> |
| <a class="link" href="history.html#boost_asio.history.asio_1_4_3___boost_1_40">Asio 1.4.3 / Boost |
| 1.40</a> |
| </h4> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"> |
| <li class="listitem"> |
| Added a new ping example to illustrate the use of ICMP sockets. |
| </li> |
| <li class="listitem"> |
| Changed the <code class="computeroutput"><span class="identifier">buffered</span><span class="special">*</span><span class="identifier">_stream</span><span class="special"><></span></code> |
| templates to treat 0-byte reads and writes as no-ops, to comply with the |
| documented type requirements for <code class="computeroutput"><span class="identifier">SyncReadStream</span></code>, |
| <code class="computeroutput"><span class="identifier">AsyncReadStream</span></code>, <code class="computeroutput"><span class="identifier">SyncWriteStream</span></code> and <code class="computeroutput"><span class="identifier">AsyncWriteStream</span></code>. |
| </li> |
| <li class="listitem"> |
| Changed some instances of the <code class="computeroutput"><span class="keyword">throw</span></code> |
| keyword to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">throw_exception</span><span class="special">()</span></code> |
| to allow Asio to be used when exception support is disabled. Note that |
| the SSL wrappers still require exception support (<a href="https://svn.boost.org/trac/boost/ticket/2754" target="_top">#2754</a>). |
| </li> |
| <li class="listitem"> |
| Made Asio compatible with the OpenSSL 1.0 beta (<a href="https://svn.boost.org/trac/boost/ticket/3256" target="_top">#3256</a>). |
| </li> |
| <li class="listitem"> |
| Eliminated a redundant system call in the Solaris <code class="literal">/dev/poll</code> |
| backend. |
| </li> |
| <li class="listitem"> |
| Fixed a bug in resizing of the bucket array in the internal hash maps (<a href="https://svn.boost.org/trac/boost/ticket/3095" target="_top">#3095</a>). |
| </li> |
| <li class="listitem"> |
| Ensured correct propagation of the error code when a synchronous accept |
| fails (<a href="https://svn.boost.org/trac/boost/ticket/3216" target="_top">#3216</a>). |
| </li> |
| <li class="listitem"> |
| Ensured correct propagation of the error code when a synchronous read or |
| write on a Windows HANDLE fails. |
| </li> |
| <li class="listitem"> |
| Fixed failures reported when <code class="computeroutput"><span class="identifier">_GLIBCXX_DEBUG</span></code> |
| is defined (<a href="https://svn.boost.org/trac/boost/ticket/3098" target="_top">#3098</a>). |
| </li> |
| <li class="listitem"> |
| Fixed custom memory allocation support for timers (<a href="https://svn.boost.org/trac/boost/ticket/3107" target="_top">#3107</a>). |
| </li> |
| <li class="listitem"> |
| Tidied up various warnings reported by g++ (<a href="https://svn.boost.org/trac/boost/ticket/1341" target="_top">#1341</a>, |
| <a href="https://svn.boost.org/trac/boost/ticket/2618" target="_top">#2618</a>). |
| </li> |
| <li class="listitem"> |
| Various documentation improvements, including more obvious hyperlinks to |
| function overloads, header file information, examples for the handler type |
| requirements, and adding enum values to the index (<a href="https://svn.boost.org/trac/boost/ticket/3157" target="_top">#3157</a>, |
| <a href="https://svn.boost.org/trac/boost/ticket/2620" target="_top">#2620</a>). |
| </li> |
| </ul></div> |
| <a name="boost_asio.history.asio_1_4_2___boost_1_39"></a><h4> |
| <a name="id1408670"></a> |
| <a class="link" href="history.html#boost_asio.history.asio_1_4_2___boost_1_39">Asio 1.4.2 / Boost |
| 1.39</a> |
| </h4> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"> |
| <li class="listitem"> |
| Implement automatic resizing of the bucket array in the internal hash maps. |
| This is to improve performance for very large numbers of asynchronous operations |
| and also to reduce memory usage for very small numbers. A new macro <code class="computeroutput"><span class="identifier">BOOST_ASIO_HASH_MAP_BUCKETS</span></code> may be used |
| to tweak the sizes used for the bucket arrays. (N.B. this feature introduced |
| a bug which was fixed in Asio 1.4.3 / Boost 1.40.) |
| </li> |
| <li class="listitem"> |
| Add performance optimisation for the Windows IOCP backend for when no timers |
| are used. |
| </li> |
| <li class="listitem"> |
| Prevent locale settings from affecting formatting of TCP and UDP endpoints |
| (<a href="https://svn.boost.org/trac/boost/ticket/2682" target="_top">#2682</a>). |
| </li> |
| <li class="listitem"> |
| Fix a memory leak that occurred when an asynchronous SSL operation's completion |
| handler threw an exception (<a href="https://svn.boost.org/trac/boost/ticket/2910" target="_top">#2910</a>). |
| </li> |
| <li class="listitem"> |
| Fix the implementation of <code class="computeroutput"><span class="identifier">io_control</span><span class="special">()</span></code> so that it adheres to the documented |
| type requirements for IoControlCommand (<a href="https://svn.boost.org/trac/boost/ticket/2820" target="_top">#2820</a>). |
| </li> |
| <li class="listitem"> |
| Fix incompatibility between Asio and ncurses.h (<a href="https://svn.boost.org/trac/boost/ticket/2156" target="_top">#2156</a>). |
| </li> |
| <li class="listitem"> |
| On Windows, specifically handle the case when an overlapped <code class="computeroutput"><span class="identifier">ReadFile</span></code> call fails with <code class="computeroutput"><span class="identifier">ERROR_MORE_DATA</span></code>. This enables a hack |
| where a <code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">stream_handle</span></code> can be used with a message-oriented |
| named pipe (<a href="https://svn.boost.org/trac/boost/ticket/2936" target="_top">#2936</a>). |
| </li> |
| <li class="listitem"> |
| Fix system call wrappers to always clear the error on success, as POSIX |
| allows successful system calls to modify errno (<a href="https://svn.boost.org/trac/boost/ticket/2953" target="_top">#2953</a>). |
| </li> |
| <li class="listitem"> |
| Don't include termios.h if <code class="computeroutput"><span class="identifier">BOOST_ASIO_DISABLE_SERIAL_PORT</span></code> |
| is defined (<a href="https://svn.boost.org/trac/boost/ticket/2917" target="_top">#2917</a>). |
| </li> |
| <li class="listitem"> |
| Cleaned up some more MSVC level 4 warnings (<a href="https://svn.boost.org/trac/boost/ticket/2828" target="_top">#2828</a>). |
| </li> |
| <li class="listitem"> |
| Various documentation fixes (<a href="https://svn.boost.org/trac/boost/ticket/2871" target="_top">#2871</a>). |
| </li> |
| </ul></div> |
| <a name="boost_asio.history.asio_1_4_1___boost_1_38"></a><h4> |
| <a name="id1408924"></a> |
| <a class="link" href="history.html#boost_asio.history.asio_1_4_1___boost_1_38">Asio 1.4.1 / Boost |
| 1.38</a> |
| </h4> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"> |
| <li class="listitem"> |
| Improved compatibility with some Windows firewall software. |
| </li> |
| <li class="listitem"> |
| Ensured arguments to <code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">overlapped_ptr</span><span class="special">::</span><span class="identifier">complete</span><span class="special">()</span></code> are correctly passed to the completion |
| handler (<a href="https://svn.boost.org/trac/boost/ticket/2614" target="_top">#2614</a>). |
| </li> |
| <li class="listitem"> |
| Fixed a link problem and multicast failure on QNX (<a href="https://svn.boost.org/trac/boost/ticket/2504" target="_top">#2504</a>, |
| <a href="https://svn.boost.org/trac/boost/ticket/2530" target="_top">#2530</a>). |
| </li> |
| <li class="listitem"> |
| Fixed a compile error in SSL support on MinGW / g++ 3.4.5. |
| </li> |
| <li class="listitem"> |
| Drop back to using a pipe for notification if eventfd is not available |
| at runtime on Linux (<a href="https://svn.boost.org/trac/boost/ticket/2683" target="_top">#2683</a>). |
| </li> |
| <li class="listitem"> |
| Various minor bug and documentation fixes (<a href="https://svn.boost.org/trac/boost/ticket/2534" target="_top">#2534</a>, |
| <a href="https://svn.boost.org/trac/boost/ticket/2541" target="_top">#2541</a>, |
| <a href="https://svn.boost.org/trac/boost/ticket/2607" target="_top">#2607</a>, |
| <a href="https://svn.boost.org/trac/boost/ticket/2617" target="_top">#2617</a>, |
| <a href="https://svn.boost.org/trac/boost/ticket/2619" target="_top">#2619</a>). |
| </li> |
| </ul></div> |
| <a name="boost_asio.history.asio_1_4_0___boost_1_37"></a><h4> |
| <a name="id1409086"></a> |
| <a class="link" href="history.html#boost_asio.history.asio_1_4_0___boost_1_37">Asio 1.4.0 / Boost |
| 1.37</a> |
| </h4> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"> |
| <li class="listitem"> |
| Enhanced CompletionCondition concept with the signature <code class="computeroutput"><span class="identifier">size_t</span> |
| <span class="identifier">CompletionCondition</span><span class="special">(</span><span class="identifier">error_code</span> <span class="identifier">ec</span><span class="special">,</span> <span class="identifier">size_t</span> <span class="identifier">total</span><span class="special">)</span></code>, |
| where the return value indicates the maximum number of bytes to be transferred |
| on the next read or write operation. (The old CompletionCondition signature |
| is still supported for backwards compatibility). |
| </li> |
| <li class="listitem"> |
| New windows::overlapped_ptr class to allow arbitrary overlapped I/O functions |
| (such as TransmitFile) to be used with Asio. |
| </li> |
| <li class="listitem"> |
| On recent versions of Linux, an eventfd descriptor is now used (rather |
| than a pipe) to interrupt a blocked select/epoll reactor. |
| </li> |
| <li class="listitem"> |
| Added const overloads of lowest_layer(). |
| </li> |
| <li class="listitem"> |
| Synchronous read, write, accept and connect operations are now thread safe |
| (meaning that it is now permitted to perform concurrent synchronous operations |
| on an individual socket, if supported by the OS). |
| </li> |
| <li class="listitem"> |
| Reactor-based io_service implementations now use lazy initialisation to |
| reduce the memory usage of an io_service object used only as a message |
| queue. |
| </li> |
| </ul></div> |
| <a name="boost_asio.history.asio_1_2_0___boost_1_36"></a><h4> |
| <a name="id1409218"></a> |
| <a class="link" href="history.html#boost_asio.history.asio_1_2_0___boost_1_36">Asio 1.2.0 / Boost |
| 1.36</a> |
| </h4> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"> |
| <li class="listitem"> |
| Added support for serial ports. |
| </li> |
| <li class="listitem"> |
| Added support for UNIX domain sockets. |
| </li> |
| <li class="listitem"> |
| Added support for raw sockets and ICMP. |
| </li> |
| <li class="listitem"> |
| Added wrappers for POSIX stream-oriented file descriptors (excluding regular |
| files). |
| </li> |
| <li class="listitem"> |
| Added wrappers for Windows stream-oriented <code class="computeroutput"><span class="identifier">HANDLE</span></code>s |
| such as named pipes (requires <code class="computeroutput"><span class="identifier">HANDLE</span></code>s |
| that work with I/O completion ports). |
| </li> |
| <li class="listitem"> |
| Added wrappers for Windows random-access <code class="computeroutput"><span class="identifier">HANDLE</span></code>s |
| such as files (requires <code class="computeroutput"><span class="identifier">HANDLE</span></code>s |
| that work with I/O completion ports). |
| </li> |
| <li class="listitem"> |
| Added support for reactor-style operations (i.e. they report readiness |
| but perform no I/O) using a new <code class="computeroutput"><span class="identifier">null_buffers</span></code> |
| type. |
| </li> |
| <li class="listitem"> |
| Added an iterator type for bytewise traversal of buffer sequences. |
| </li> |
| <li class="listitem"> |
| Added new <code class="computeroutput"><span class="identifier">read_until</span><span class="special">()</span></code> |
| and <code class="computeroutput"><span class="identifier">async_read_until</span><span class="special">()</span></code> |
| overloads that take a user-defined function object for locating message |
| boundaries. |
| </li> |
| <li class="listitem"> |
| Added an experimental two-lock queue (enabled by defining <code class="computeroutput"><span class="identifier">BOOST_ASIO_ENABLE_TWO_LOCK_QUEUE</span></code>) that |
| may provide better <code class="computeroutput"><span class="identifier">io_service</span></code> |
| scalability across many processors. |
| </li> |
| <li class="listitem"> |
| Various fixes, performance improvements, and more complete coverage of |
| the custom memory allocation support. |
| </li> |
| </ul></div> |
| <a name="boost_asio.history.asio_1_0_0___boost_1_35"></a><h4> |
| <a name="id1409438"></a> |
| <a class="link" href="history.html#boost_asio.history.asio_1_0_0___boost_1_35">Asio 1.0.0 / Boost |
| 1.35</a> |
| </h4> |
| <p> |
| First release of Asio as part of Boost. |
| </p> |
| </div> |
| <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> |
| <td align="left"></td> |
| <td align="right"><div class="copyright-footer">Copyright © 2003 - 2010 Christopher M. Kohlhoff<p> |
| Distributed under the Boost Software License, Version 1.0. (See accompanying |
| file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) |
| </p> |
| </div></td> |
| </tr></table> |
| <hr> |
| <div class="spirit-nav"> |
| <a accesskey="p" href="reference/is_error_code_enum_lt__ssl_errors__gt_/value.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_asio.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../boost_asio.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="index.html"><img src="../../../doc/src/images/next.png" alt="Next"></a> |
| </div> |
| </body> |
| </html> |