Commit Graph

2114 Commits

Author SHA1 Message Date
Christopher Kohlhoff
a579568eda Update buffered stream operations to adhere to current handler patterns. 2013-09-20 09:47:48 +10:00
Christopher Kohlhoff
d7228f4632 Add a workaround for Microsoft's non-conformant std::system_error. 2013-09-19 08:18:29 +10:00
Christopher Kohlhoff
383b05ecc5 Implement end-of-file condition for WinRT stream sockets. 2013-09-19 08:14:16 +10:00
Christopher Kohlhoff
e51d790cad Fix prefix on extern "C" function name. 2013-09-18 08:53:15 +10:00
Christopher Kohlhoff
f1f4ea75cd Add use_future support for Microsoft Visual C++. 2013-09-16 22:58:36 +10:00
Christopher Kohlhoff
ebe6cd7a97 Enable move support for Microsoft Visual C++ 2012. 2013-09-16 10:29:26 +10:00
Christopher Kohlhoff
51bba37e7d Initial port to Windows Runtime.
This change adds limited support for using Asio with the Windows
Runtime. It requires that the language extensions be enabled. Due to the
restricted facilities exposed by the Windows Runtime API, the port comes
with the following caveats:

* The core facilities such as the io_service, strand, buffers, composed
  operations, timers, etc., should all work as normal.

* For sockets, only client-side TCP is supported.

* Explicit binding of a client-side TCP socket is not supported.

* The cancel() function is not supported for sockets. Asynchronous
  operations may only be cancelled by closing the socket.

* Operations that use null_buffers are not supported.

* Only tcp::no_delay and socket_base::keep_alive options are supported.

* Resolvers do not support service names, only numbers. I.e. you must
  use "80" rather than "http".

* Most resolver query flags have no effect.
2013-09-16 00:22:22 +10:00
Christopher Kohlhoff
a482f2d091 Eliminate some unnecessary handler copies. 2013-09-15 10:46:52 +10:00
Christopher Kohlhoff
93ed48b0a3 Some async operations that missed getting the async_result treatment. 2013-09-15 10:45:46 +10:00
Christopher Kohlhoff
e9b7b07458 Visual C++ language extensions use "generic" as a keyword. Add a
workaround that renames the namespace to "cpp_generic" when those
language extensions are in effect.
2013-09-15 08:24:03 +10:00
Christopher Kohlhoff
308c775f70 Add the ability to use asio without boost, when compiling with Microsoft
Visual Studio 2012.
2013-09-15 00:22:29 +10:00
Christopher Kohlhoff
b417db6733 Ignore ERROR_MORE_DATA as a non-fatal error when returned by
GetOverlappedResult for a synchronous read.
2013-09-14 23:43:26 +10:00
Christopher Kohlhoff
99077c6e76 Remove use of std::min. 2013-09-14 23:35:10 +10:00
Christopher Kohlhoff
7d09b17dab Add missing forward declarations needed for Windows. 2013-09-14 23:34:44 +10:00
Christopher Kohlhoff
838a259d0b Fix documentation error where an asynchronous function was described as
having synchronous behaviour.
2013-09-14 23:11:26 +10:00
Christopher Kohlhoff
ff5d07f717 Fix another socket descriptor comparison that doesn't work correctly if
the descriptor type is unsigned.
2013-09-14 23:11:06 +10:00
Christopher Kohlhoff
ca4c666b15 Ignore dirstamp. 2013-09-14 23:06:00 +10:00
Christopher Kohlhoff
79c2a96015 Add missing move cast. 2013-09-14 23:06:00 +10:00
Christopher Kohlhoff
8837bd220d Clean up some internal forward declarations. 2013-09-14 23:06:00 +10:00
Christopher Kohlhoff
552c16f27c Remove spurious whitespace. 2013-09-14 23:06:00 +10:00
Christopher Kohlhoff
c417708af8 Fix error in comment. 2013-09-14 23:06:00 +10:00
Christopher Kohlhoff
89cfb98217 Clarify that programs must not issue overlapping async_write_at operations. 2013-09-14 23:06:00 +10:00
Christopher Kohlhoff
1457c99b2b Enable the move optimisation (and otherwise eliminate a copy) for handlers
using the default invocation hook.
2013-09-14 23:05:59 +10:00
Christopher Kohlhoff
90d3c85ed3 Fix link to refer to native_handle() rather than the deprecated native() function. 2013-09-14 23:05:59 +10:00
Christopher Kohlhoff
50e8b56610 Suppress g++ 4.8+ warning about unused typedefs. 2013-09-14 23:05:59 +10:00
Christopher Kohlhoff
16f1e60c54 Ensure signal number is correctly passed to the completion handler when
starting an async_wait on a signal that is already raised.
2013-09-14 23:05:59 +10:00
Christopher Kohlhoff
e151c85349 Fix comparison used to test for a successful synchronous accept. 2013-09-14 23:05:59 +10:00
Christopher Kohlhoff
c6d808c712 Fix a bug in handler tracking, where it was not correctly printing out some handler IDs. 2013-09-14 23:05:59 +10:00
Christopher Kohlhoff
ad86ef20ba Ensure ssl::io_op::want_ member is initialised. 2013-09-14 23:05:59 +10:00
Christopher Kohlhoff
ba52bf6138 Fix typo in serial ports overview. 2013-09-14 23:05:59 +10:00
Christopher Kohlhoff
ff5ed66909 Fix a regression on Windows where multiple threads are running an io_service. 2013-09-14 23:05:59 +10:00
Christopher Kohlhoff
6d378acf13 Fix nfds argument to select. 2013-09-14 23:05:59 +10:00
Christopher Kohlhoff
0a771be074 Remove unused parameters and member variables. 2013-09-14 22:56:13 +10:00
Christopher Kohlhoff
daf289c22f Fix a regression where, on some platforms, errors from async_connect are not
correctly propagated through to the completion handler.
2013-09-14 22:56:13 +10:00
Christopher Kohlhoff
e16acc0b47 Remove unused variable assignment. 2013-09-14 22:56:12 +10:00
Christopher Kohlhoff
c986c1e88e Fix error in async_receive_from example. 2013-09-14 22:56:12 +10:00
Christopher Kohlhoff
be45dc87d8 Remove dependency on Boost.Preprocessor library. 2013-09-14 22:25:52 +10:00
Christopher Kohlhoff
906f4f968b asio version 1.10.0 released 2013-09-14 22:03:43 +10:00
Christopher Kohlhoff
8a7e8a437b Revision history. 2013-09-14 20:44:25 +10:00
Christopher Kohlhoff
bb55d1d816 Regenerate documentation. 2013-09-14 20:37:29 +10:00
Christopher Kohlhoff
317da0d5f5 Add missing documentation for use_future_t::allocator_type. 2013-06-22 23:04:53 +10:00
Christopher Kohlhoff
a489d98cd4 Add mechanism for disabling automatic Winsock initialisation. 2013-06-22 22:28:44 +10:00
Christopher Kohlhoff
e661917a12 Fix memory leak in ssl::rfc2818_verification class. 2013-06-22 21:24:06 +10:00
Christopher Kohlhoff
7efa576e4d Support both boost.coroutine v1 and v2. 2013-06-22 21:20:38 +10:00
Christopher Kohlhoff
de7e33a1c6 Update documentation to cover new features. 2013-05-27 21:42:00 +10:00
Christopher Kohlhoff
ed80132017 Fix potential data race due to reading the reactor pointer outside the lock. 2013-05-25 22:28:51 +10:00
Christopher Kohlhoff
cbcfb0beba Boostify the futures example. 2013-05-25 22:28:51 +10:00
Christopher Kohlhoff
d9a21e469d Fix incorrect boostification of #warning message. 2013-05-25 20:11:15 +10:00
Christopher Kohlhoff
9d3b94eb6a Fix bug on Windows where certain operations might generate an error_code with
an invalid (i.e. NULL) error_category.
2013-05-25 20:11:15 +10:00
Christopher Kohlhoff
3a5f6881a5 Automatically disable SSL compression.
To mitigate the risk of certain attacks, SSL compression is now disabled
by default. To enable, you can use the new ssl::context::clear_options()
function like so:

  my_context.clear_options(asio::ssl::context::no_compression);
2013-05-25 20:11:15 +10:00