Christopher Kohlhoff
9733ac6763
Make all kqueue event registration lazy.
...
Fixes the kqueue reactor so that it works on FreeBSD again.
2015-03-19 20:18:59 +11:00
Christopher Kohlhoff
38051268e3
Deregister EVFILT_WRITE to avoid spinning with serial ports.
2015-03-19 19:54:07 +11:00
Christopher Kohlhoff
37e4e62c5a
Use correct type in byte order conversion of shorts.
2015-03-19 19:53:59 +11:00
Christopher Kohlhoff
f7695e66a4
Fix shadow variable warnings.
2015-03-19 19:53:44 +11:00
Christopher Kohlhoff
b72b473cda
Add lazy kqueue EVFILT_WRITE registration.
...
This fixes support for read-only file descriptors, such as those obtained
from libpcap by calling pcap_get_selectable_fd.
2015-03-19 19:52:34 +11:00
Christopher Kohlhoff
4b1731d973
New macro ASIO_DISABLE_CONNECTEX to disable ConnectEx use.
2015-03-19 19:35:11 +11:00
Christopher Kohlhoff
164b961f95
Remove dependency on Boost.Test.
2015-03-19 19:35:11 +11:00
Christopher Kohlhoff
23b084bb61
Fix up support for ASIO_NO_EXCEPTIONS.
2015-03-17 20:41:14 +11:00
Christopher Kohlhoff
df9d70bc55
Fix up support for ASIO_NO_TYPEID (i.e. no RTTI).
2015-03-17 19:42:07 +11:00
Christopher Kohlhoff
e19f2bd660
Strip the scope id from address string before passing to inet_pton.
...
On some platforms, like FreeBSD, inet_pton fails if the address
string includes trailing characters like a scope id.
2015-03-14 09:18:52 +11:00
Christopher Kohlhoff
6614ff63b2
Fix handler tracking on WinRT.
2015-03-14 09:18:52 +11:00
Christopher Kohlhoff
55194c01f5
Remove accidentally committed makefile change.
2015-03-14 09:18:52 +11:00
Christopher Kohlhoff
d4f7353a9e
Track the underlying reactor operations associated with handlers.
...
For reactor-based platforms only. For example, an async send on a reactor-based
platform will now log the result to each non-blocking send system call.
2015-03-14 09:18:52 +11:00
Christopher Kohlhoff
f1de530de5
Pass native handle (e.g. descriptor) to handler tracking.
2015-03-14 08:58:29 +11:00
Christopher Kohlhoff
829b4c88df
Add missing implementation header to src.hpp.
2015-03-10 18:37:24 +11:00
Christopher Kohlhoff
5d686abf95
Update handler tracking arguments.
...
Now passes the execution context on handler creation and for operations. The
tracked handler base class is now passed by reference to help reduce the
temptation to stash a point to a soon-to-be-destroyed object.
2015-03-10 18:37:23 +11:00
Christopher Kohlhoff
27f8c672a7
Update reference index to use new address iterator/range names.
2015-03-07 21:00:27 +11:00
Christopher Kohlhoff
a35e2e0127
Add basic_address_iterator and basic_address_range templates.
...
Class address_iterator_v4 is now typedef address_v4_iterator.
Class address_range_v4 is now typedef address_v4_range.
Class address_iterator_v6 is now typedef address_v6_iterator.
Class address_range_v6 is now typedef address_v6_range.
2015-03-07 19:55:44 +11:00
Christopher Kohlhoff
17efec1803
Add use_future_::rebind() as replacement for operator[].
2015-03-06 09:41:37 +11:00
Christopher Kohlhoff
4599179812
Finish implementation of move-enabled accept/async_accept.
2015-03-05 21:40:32 +11:00
Christopher Kohlhoff
c05c71e96b
Revert "Change ip::address default constructor to be not-an-address."
...
This reverts commit d8a2f7087d
.
2015-03-03 09:56:48 +11:00
Christopher Kohlhoff
f475b21437
Initial implementation of move-enable accept/async_accept.
...
This commit adds support for the new form of accept and async_accept. In this
form, rather than taking a socket by reference, the newly accepted socket is
returned to the caller/callback as a movable socket object.
2015-03-02 23:47:04 +11:00
Christopher Kohlhoff
7eee8f1875
Add support for custom handler tracking.
2015-02-25 07:42:17 +01:00
Christopher Kohlhoff
7c93097174
Fix handler tracking for support for the new strand.
2015-02-25 07:42:17 +01:00
Christopher Kohlhoff
91b3bb1c73
remove_reference is not needed in async_completion constructor.
2015-02-25 07:42:12 +01:00
Christopher Kohlhoff
66e76b9e42
asio version 1.11.0 released
2015-02-16 09:18:50 +11:00
Christopher Kohlhoff
691f3cd465
Revision history.
2015-02-16 08:51:46 +11:00
Christopher Kohlhoff
fee3b366a5
Fix filename clash on case-insensitive filesystems.
2015-02-16 08:51:46 +11:00
Christopher Kohlhoff
6394ab63c0
Allow nested calls to completion handler when using yield_context.
2015-02-16 08:48:03 +11:00
Christopher Kohlhoff
a5712beb31
Revert "Allow nested calls to completion handler when using yield_context."
...
This reverts commit 81242906a5
.
2015-02-16 08:45:54 +11:00
Christopher Kohlhoff
81242906a5
Allow nested calls to completion handler when using yield_context.
2015-02-16 07:54:40 +11:00
Christopher Kohlhoff
4a19f23564
Add cpp14 examples to distribution.
2015-02-16 00:02:23 +11:00
Christopher Kohlhoff
d29d94535e
Update copyright notices.
2015-02-16 00:02:23 +11:00
Christopher Kohlhoff
a4a02f2181
Regenerate documentation.
2015-02-16 00:02:23 +11:00
Christopher Kohlhoff
060d301688
Treat multicast test failures with ENODEV as non-fatal.
2015-02-16 00:02:23 +11:00
Christopher Kohlhoff
76cf93cb8f
Mark io_service::work as deprecated.
2015-02-16 00:01:01 +11:00
Christopher Kohlhoff
1597807251
Update quick reference.
2015-02-16 00:01:01 +11:00
Christopher Kohlhoff
aa5e09ea5a
Add DynamicBufferSequence requirements.
2015-02-16 00:01:01 +11:00
Christopher Kohlhoff
fcdb166686
Show rvalue reference parameters in documentation.
2015-02-15 18:14:50 +11:00
Christopher Kohlhoff
6f13c5bd15
Documentation fixes.
2015-02-15 18:14:50 +11:00
Christopher Kohlhoff
cd6ddda029
Remove stray @endcode.
2015-02-15 17:51:06 +11:00
Christopher Kohlhoff
895e93526f
Fix long line.
2015-02-15 17:47:49 +11:00
Christopher Kohlhoff
82fb618e68
Work around MSVC compile error.
2015-02-15 17:31:16 +11:00
Christopher Kohlhoff
33e64f705a
Map ConnectEx errors to portable equivalents.
...
Fixes boost trac ticket 10744.
2015-02-15 17:07:32 +11:00
Christopher Kohlhoff
24cce671f7
Enable perfect forwarding for ssl::stream constructor argument.
2015-02-15 16:41:02 +11:00
Christopher Kohlhoff
57d5b76ece
Fix ssl::stream bug that may cause spurious 'short read' errors.
2015-02-15 16:23:40 +11:00
Christopher Kohlhoff
956979b445
Add support for networks and address ranges.
...
The following new classes have been added:
- address_iterator_v4: for iterating across IPv4 addresses
- address_iterator_v6: for iterating across IPv6 addresses
- address_range_v4: to represent a range of IPv4 addresses
- address_range_v6: to represent a range of IPv6 addresses
- network_v4: for manipulating IPv4 CIDR addresses, e.g. 1.2.3.0/24
- network_v6: for manipulating IPv6 CIDR addresses, e.g. ffe0:/120
Thanks go to Oliver Kowalke for contributing to the design and providing
the implementation on which this facility is based.
2015-02-15 15:30:32 +11:00
Christopher Kohlhoff
d8a2f7087d
Change ip::address default constructor to be not-an-address.
2015-02-15 12:15:57 +11:00
Christopher Kohlhoff
18ab5cee19
Fix some shadow warnings.
2015-02-15 11:09:26 +11:00
Christopher Kohlhoff
8d08c7e08e
Move result into coro_handler.
2015-02-15 11:09:17 +11:00