Commit Graph

1551 Commits

Author SHA1 Message Date
chris_kohlhoff
2ad5f71c47 Enhance example to make it clear that invocation hooking can be used with
asynchronous operations.
2008-04-07 10:15:30 +00:00
chris_kohlhoff
d16a622cb4 Add compile time tests for Windows stream-oriented handles. 2008-04-07 01:01:48 +00:00
chris_kohlhoff
cc31da1d1a Add compile-time tests for the UNIX domain socket support. 2008-04-05 23:08:39 +00:00
chris_kohlhoff
129d0eb535 Add new wrapper classes for stream-oriented file descriptors on POSIX
platforms.
2008-04-05 13:26:37 +00:00
chris_kohlhoff
f75d65b72f Add missing file win_iocp_handle_service.hpp. 2008-04-05 10:25:54 +00:00
chris_kohlhoff
cbbb254d22 Fix include guard names. 2008-04-05 07:43:52 +00:00
chris_kohlhoff
8f2faaeed0 Add missing #includes need to make file self-contained. 2008-04-05 06:58:38 +00:00
chris_kohlhoff
70a42f1a00 Ignore manifest files generated by MSVC. 2008-04-05 06:54:55 +00:00
chris_kohlhoff
53b779b7a5 File is no longer needed. 2008-04-05 06:54:11 +00:00
chris_kohlhoff
1bef47bd84 Add new wrapper classes for stream-oriented handles on Windows. 2008-04-05 06:47:36 +00:00
chris_kohlhoff
0d3390f757 Add porthopper example to demonstrate applications that mix synchronous and
asynchronous operations.
2008-04-05 06:41:54 +00:00
chris_kohlhoff
4d8687bb6d Handle anonymous UNIX domain socket endpoints. 2008-04-03 12:11:48 +00:00
chris_kohlhoff
0ceb3df896 Add support for UNIX domain sockets. 2008-04-03 11:52:44 +00:00
chris_kohlhoff
c9960f6815 Ignore MSVC manifest files. 2008-04-01 23:50:29 +00:00
chris_kohlhoff
4d491c401f Add compile-time tests for the null_buffers support. 2008-04-01 23:49:04 +00:00
chris_kohlhoff
2786514d4a Add a special null_buffers type that allows read and write operations to
be used to indicate the socket's readiness to read or write without
blocking.
2008-04-01 22:14:02 +00:00
chris_kohlhoff
e88cdf3204 Fix infinite recursion in the ssl::stream's shutdown() implementation. 2008-04-01 21:46:16 +00:00
chris_kohlhoff
cab2cb8bdc Improve efficiency of basic_streambuf::consume() by using a single call to
gbump() rather than calling sbumpc() in a loop.
2008-04-01 21:43:40 +00:00
chris_kohlhoff
07565c1869 asio version 1.0.0 released 2008-03-30 08:01:08 +00:00
chris_kohlhoff
097513b58d Fix doc jamfile to work with latest boost. 2008-03-30 02:35:11 +00:00
chris_kohlhoff
43c99e6a6d Fix double-free error that occurs when an exception is thrown from a
handler that has been dispatched (i.e. not posted) through a strand.
2008-03-27 14:16:36 +00:00
chris_kohlhoff
363e00a889 Fix incorrect use of sin_port with a sockaddr_in6 structure. 2008-03-13 06:52:47 +00:00
chris_kohlhoff
06fd93ffd2 Use unions to fix a sockaddr_storage aliasing problem that shows up with
g++ 4.3.0.
2008-03-12 13:19:37 +00:00
chris_kohlhoff
8785112b82 Revert to having the windows-bug workaround (short timeout on
GetQueuedCompletionStatus) on all threads as there are still scenarios
where threads can get stuck indefinitely.
2008-03-12 12:48:41 +00:00
chris_kohlhoff
61a9b5f212 Update copyright notices. 2008-03-03 13:46:10 +00:00
chris_kohlhoff
62d0c64c95 Regenerate documentation. 2008-03-03 13:35:55 +00:00
chris_kohlhoff
a416c8141c Disable use of CancelIo by default, due to the possibility of silent
failure on some system configurations. Swallow error returned by CancelIoEx
if there are no operations to be cancelled.
2008-03-03 12:34:19 +00:00
chris_kohlhoff
df3204bdb4 Fix error in string replacement of 'asio_handler_invoke_helpers'. 2008-03-03 12:28:36 +00:00
chris_kohlhoff
bd956c856c Add support for building the SSL test and examples, and for specifying
which runtime library to use, the target version of Windows, etc.
2008-03-03 12:25:20 +00:00
chris_kohlhoff
ecf081b4af Add missing tie(). 2008-02-29 12:48:23 +00:00
chris_kohlhoff
87f1b82936 Use the correct vector of timer queues when dispatching timers. 2008-02-22 22:23:08 +00:00
chris_kohlhoff
34c5f68a30 Need to include socket_types.hpp for all ssl headers to compile standalone. 2008-02-11 13:41:10 +00:00
chris_kohlhoff
9febd60ab2 Fix error messages. 2008-02-11 13:36:23 +00:00
chris_kohlhoff
51f731c014 Fix "possible loss of data" warning when building for Windows 2000 targets. 2008-02-02 07:34:17 +00:00
chris_kohlhoff
8a90ce1045 The latest Windows SDKs don't support IPv6 when building for Windows 2000,
so we need to use the SDK emulation in that case.
2008-02-02 07:33:02 +00:00
chris_kohlhoff
21899133ea Ensure that the workaround for the MSVC secure iterator problem is only
used when compiling with MSVC. The workaround causes g++'s library debug
mode to report errors due to the assignment from a singular iterator.
2008-02-02 07:31:00 +00:00
chris_kohlhoff
df61faa99b Set the openssl callback function for getting a thread ID. 2008-01-16 13:24:49 +00:00
chris_kohlhoff
5531caafb6 The header file win_iocp_operation.hpp has been removed. 2008-01-14 13:05:40 +00:00
chris_kohlhoff
a314529da0 Keep track of the number of OVERLAPPED-derived operations to ensure that
they all get cleaned up when the io_service is destroyed.
2008-01-14 13:02:57 +00:00
chris_kohlhoff
6a982e260a Try to fix possible thread-safety issues in SSL wrapper. 2008-01-14 12:50:15 +00:00
chris_kohlhoff
1cd3cb1b80 Don't call epoll_wait/kevent if there are no old operations (where old means
added prior to the last epoll_wait/kevent call) wneeding to be
demultiplexed.
2008-01-14 12:20:42 +00:00
chris_kohlhoff
6e96d07db7 Don't include sys/time.h when compiling with aCC, as that header does not
supply pselect(), which is needed for HP-UX/aCC to work correctly.
2008-01-14 12:18:03 +00:00
chris_kohlhoff
227a9c4627 Enable /Wp64 compiler flag so that we can check whether its warnings have
been correctly suppressed.
2008-01-14 12:15:14 +00:00
chris_kohlhoff
2be28e8b9b Only perform the windows-bug workaround where we use a short timeout with
GetQueuedCompletionStatus from one thread, i.e. the time thread.
2008-01-14 12:13:34 +00:00
chris_kohlhoff
c600d66207 Silence some integer truncation warnings. 2008-01-14 12:09:48 +00:00
chris_kohlhoff
24814c6c08 Add missing broken pipe error. 2008-01-14 11:54:06 +00:00
chris_kohlhoff
665fcfc9b0 Silence some integer truncation warnings. 2008-01-14 11:52:37 +00:00
chris_kohlhoff
7b4f386153 Disable noisy and incorrect /Wp64 warnings generated by MSVC. 2008-01-14 11:51:21 +00:00
chris_kohlhoff
97e452dec4 Check for truncation when converting buffer size from size_t to openssl's
int argument.
2008-01-14 11:40:52 +00:00
chris_kohlhoff
2be103d536 Fixes for older versions of HP-UX. 2007-12-12 12:10:26 +00:00
chris_kohlhoff
819678136b Update docs. 2007-12-12 12:06:50 +00:00
chris_kohlhoff
790f2f6c83 Fix concept name in comment. 2007-12-12 11:52:37 +00:00
chris_kohlhoff
0837738423 asio version 0.3.9 released 2007-12-08 14:13:05 +00:00
chris_kohlhoff
f50a641ef6 Ensure the asio header file always comes before boost/thread.hpp. 2007-12-08 13:59:10 +00:00
chris_kohlhoff
9c1eaab0c1 Remove incorrect date. 2007-12-08 13:22:32 +00:00
chris_kohlhoff
ca46d761d6 Fix links to classes. 2007-12-08 12:48:42 +00:00
chris_kohlhoff
855ca73ecc Use boost 1.34.1 by default. 2007-12-08 10:42:21 +00:00
chris_kohlhoff
1b1268d01a Fix signed/unsigned comparison warning on FreeBSD. 2007-12-08 08:15:03 +00:00
chris_kohlhoff
97a7bde09a Show initialisers for static member variables. 2007-12-08 00:23:52 +00:00
chris_kohlhoff
6be307f8e5 Documentation updates. 2007-12-07 23:35:07 +00:00
chris_kohlhoff
b5f5f1bd58 Fix do_async_read() signature to work with read function object. 2007-12-07 12:51:28 +00:00
chris_kohlhoff
63d0ffe044 Try to fix stall when sending large blocks of data over SSL. 2007-12-07 12:42:03 +00:00
chris_kohlhoff
10ed2d0cde Don't use deprecated function workaround when compiling for Windows CE. 2007-12-05 21:33:17 +00:00
chris_kohlhoff
c383e5d93f Prevent deprecated function warnings for MSVC >= 8. 2007-12-04 21:11:07 +00:00
chris_kohlhoff
e1d484fd1b Use a better unspecified-bool implementation. 2007-12-01 22:45:05 +00:00
chris_kohlhoff
2cd5a25800 Add macro documentation. 2007-11-29 21:47:21 +00:00
chris_kohlhoff
5a660d9257 Update implementation notes to match current Win32 implementation where
timers no longer require a separate thread.
2007-11-29 21:46:22 +00:00
chris_kohlhoff
13896a731f Make async operations fail with an error if the socket descriptor doesn't
fit into the select call's fd_set.
2007-11-28 12:40:18 +00:00
chris_kohlhoff
4d9fc53d14 WinCE doesn't work with all multicast addresses, and even though it doesn't
support the multicast::enable_loopback option you can still get the value.
2007-11-26 21:10:06 +00:00
chris_kohlhoff
ef73c8dec2 Remove extraneous leading underscores. 2007-11-19 21:28:58 +00:00
chris_kohlhoff
8facdb535e Category getter functions need to be inline. 2007-11-15 06:56:31 +00:00
chris_kohlhoff
6df6aefd87 Try to fix order-of-initialisation problem in the boost-version of asio. 2007-11-15 05:55:48 +00:00
chris_kohlhoff
ed60f2db60 Add a workaround for MSVC secure iterator problem where allowing the
destruction of an iterator to an already-destroyed string object results in
a program crash. Revert previous change to destroy buffers prior to
invoking the handler since it didn't fix the problem and wasn't cleaning
up all copies of the buffers anyway.
2007-11-13 11:47:10 +00:00
chris_kohlhoff
aa41681de5 Cannot perform concurrent operations on the /dev/poll descriptor where
the sockets descriptors involved may already be being waited on. Changed
the dev_poll_reactor class to keep a vector of pending event changes and
interrupt the /dev/poll ioctl() wait to apply it.
2007-11-12 11:48:59 +00:00
chris_kohlhoff
83a1c63803 Fix timer stalls. 2007-11-08 07:50:44 +00:00
chris_kohlhoff
b3eb64c85d Eliminate the need for an extra thread to perform timer dispatching. 2007-11-08 04:03:23 +00:00
chris_kohlhoff
1448ba241a Add checks for expected failures on Windows CE. 2007-11-05 12:31:13 +00:00
chris_kohlhoff
7a48110126 Check for expected failures on WinCE. 2007-11-05 12:23:37 +00:00
chris_kohlhoff
901f790df7 Don't set errno when building for Windows targets. Should fix WinCE build. 2007-11-05 10:34:26 +00:00
chris_kohlhoff
ce1da82ed9 Need to use wide character functions WSAAddressToStringW and
WSAStringToAddressW when building for WinCE.
2007-11-04 12:32:13 +00:00
chris_kohlhoff
a1b0a1fa53 Silence warning resulting from conversion from size_t to int. 2007-11-04 12:18:12 +00:00
chris_kohlhoff
a97fefc9b3 The IPPROTO_IP/IP_MULTICAST_TTL option is a 4-byte integer under WinCE. 2007-11-04 12:10:27 +00:00
chris_kohlhoff
adf82b57eb WinCE socket functions are provided by ws2.lib. 2007-11-04 12:01:32 +00:00
chris_kohlhoff
ded95d8ffd Remove stray #undef. 2007-11-04 11:56:18 +00:00
chris_kohlhoff
abc4444400 WinCE may set the last error value even when functions succeed. 2007-11-04 11:53:20 +00:00
chris_kohlhoff
e967d868b3 WinCE provides getaddrinfo, getnameinfo and freeaddrinfo. 2007-11-04 07:38:51 +00:00
chris_kohlhoff
dd5b17107d IO completion ports are not supported under WinCE. 2007-11-03 23:52:58 +00:00
chris_kohlhoff
974eb63eeb WinCE doesn't provide _beginthreadex, so need to use CreateThread instead. 2007-11-03 23:49:33 +00:00
chris_kohlhoff
bef4fe8405 WinCE doesn't define TLS_OUT_OF_INDEXES. 2007-11-03 23:17:22 +00:00
chris_kohlhoff
32a4241dad Fix memory leak when an io_service is allowed to destruct with unfinished
async_wait operations.
2007-11-01 22:35:28 +00:00
chris_kohlhoff
bbf3a233d7 HP-UX fails to declare if_nametoindex as extern "C". Added a declaration
for it with correct linkage to avoid a linker error.
2007-10-29 12:46:17 +00:00
chris_kohlhoff
502ad4582b Use GetModuleHandleA rather than GetModuleHandle to avoid being broken by
UNICODE #defines.
2007-10-28 21:54:38 +00:00
chris_kohlhoff
46c1c26ab3 Mac OS X 10.5 (Leopard) gives a compile error if you try to perform an
operation on a const fd_set pointer.
2007-10-28 21:41:19 +00:00
chris_kohlhoff
54aabd0362 Ensure the task handler is put back on the queue after polling. 2007-10-27 08:32:58 +00:00
chris_kohlhoff
19bf65f515 asio version 0.3.8 released 2007-10-25 12:01:07 +00:00
chris_kohlhoff
896a11135a Remove stale THANKS file, hopefully to be replaced some time in the future
with acknowledgements in the documentation.
2007-10-24 22:01:36 +00:00
chris_kohlhoff
d08cc9bb69 Fix HP-UX test failures. 2007-10-24 13:06:37 +00:00
chris_kohlhoff
58069305b9 Use correct strerror_r version for HP-UX and Tru64. 2007-10-24 13:02:37 +00:00
chris_kohlhoff
ac5b73fa9b Only use pselect() when compiling with aCC. 2007-10-23 08:03:23 +00:00
chris_kohlhoff
6150552fbf Remove prototype classes that were accidentally included in the
documentation.
2007-10-23 01:54:18 +00:00
chris_kohlhoff
beb46312a2 Fix documentation error. 2007-10-22 23:34:55 +00:00
chris_kohlhoff
745a7c22f4 Convert to use quickbook-based documentation. 2007-10-22 23:04:06 +00:00
chris_kohlhoff
e92592d059 Fix documentation. 2007-10-22 06:34:51 +00:00
chris_kohlhoff
5028bc4821 Fix address_v6::operator<. 2007-10-21 08:12:28 +00:00
chris_kohlhoff
2500e9a200 Seems that the watermark socket options are supported on HP-UX 11i v3. 2007-10-21 07:54:12 +00:00
chris_kohlhoff
b7c704b622 Use an unsigned char for the enable_loopback socket option on HP-UX. 2007-10-21 07:29:18 +00:00
chris_kohlhoff
2787601052 On HP-UX use pselect() rather than select() to avoid weirdness where
different select() prototypes are declared depending on the order the
system headers are included.
2007-10-21 07:07:02 +00:00
chris_kohlhoff
aea2fa0297 HP-UX fails to declare if_nametoindex and if_indextoname as extern "C".
Added declarations for them with correct linkage to avoid linker errors.
2007-10-21 05:43:37 +00:00
chris_kohlhoff
36302d9476 Documentation fixes. 2007-10-21 03:49:09 +00:00
chris_kohlhoff
9777aaecb6 Ensure the buffers and completion condition objects are destroyed before
the completion handler is invoked.
2007-10-20 02:59:28 +00:00
chris_kohlhoff
f1068240c0 Add get_io_service() synonym for io_service() to match TR2 proposal. 2007-10-19 08:02:40 +00:00
chris_kohlhoff
6e6c31565d Add is_error_code_enum specialisation for ssl_errors. 2007-10-17 14:12:17 +00:00
chris_kohlhoff
969c2ddce3 Assume that Tru64 also needs SIGPIPE to be blocked. 2007-10-17 14:10:35 +00:00
chris_kohlhoff
8bf27c7096 Always use static const references to error category to match what the
boost.system library does.
2007-10-17 13:55:40 +00:00
chris_kohlhoff
2648dd4750 Add dummy enum for ssl errors. 2007-10-17 13:44:32 +00:00
chris_kohlhoff
4a19eab6d8 Make Windows XP the default target Windows version as the latest Windows
SDK doesn't support IPv6 for Windows 2000 targets.
2007-10-17 02:19:10 +00:00
chris_kohlhoff
2c43776112 Throw an exception if unable to create a pipe for the
pipe_select_interrupter.
2007-10-17 02:16:20 +00:00
chris_kohlhoff
8723f91f7f Revert HP-UX/aCC change to select() wrapper as it breaks more than it
fixes.
2007-10-17 02:15:33 +00:00
chris_kohlhoff
0f154c3403 Borland C++ wants friendship for the task_cleanup nested class. 2007-10-17 02:03:08 +00:00
chris_kohlhoff
b531c63d51 Fix long line. 2007-10-10 23:05:10 +00:00
chris_kohlhoff
10a1565517 Add missing inclusion of dev_poll_reactor.hpp. 2007-10-10 23:04:53 +00:00
chris_kohlhoff
33ae4e7bc7 Add missing includes. 2007-10-10 22:59:27 +00:00
chris_kohlhoff
a97c0b7590 Add new /dev/poll reactor implementation for Solaris. 2007-10-10 22:56:39 +00:00
chris_kohlhoff
bd8606ed10 Assume that HP-UX and AIX both need to have SIGPIPE blocked. 2007-10-09 21:42:41 +00:00
chris_kohlhoff
571994e6c8 HP-UX with aCC uses a variant of select() that takes int* arguments rather
than fd_set*.
2007-10-09 21:38:59 +00:00
chris_kohlhoff
a7d6cbd369 The epoll_wait function can produce EPOLLHUP events for a descriptor even
if not specifically requested, resulting in a tight loop of calls to
epoll_wait. Delete a descriptor from epoll if an EPOLLHUP event is
received and there are no registered operations for the descriptor.
2007-10-07 00:00:00 +00:00
chris_kohlhoff
aafc1f76cd Clean up manifest files. 2007-10-05 01:20:54 +00:00
chris_kohlhoff
f1790a9819 Add #include needed for MinGW. 2007-10-03 01:27:26 +00:00
chris_kohlhoff
d572eed078 Try using an unsigned char for the multicast::enable_loopback socket option
when compiling for Tru64.
2007-10-02 21:52:03 +00:00
chris_kohlhoff
d5014e3764 Fix warning on AIX about omitted 'private' keyword when deriving from
noncopyable.
2007-09-24 13:25:16 +00:00
chris_kohlhoff
5a39f2c557 Output error codes and error messages when a test fails. 2007-09-24 13:10:03 +00:00
chris_kohlhoff
e3dcb8f4ee Check whether exceptions are enabled on the output iostream and throw or
not throw errors accordingly.
2007-09-24 13:03:50 +00:00
chris_kohlhoff
0bf38cf1dd Try making the ip::multicast::enable_loopback socket option an unsigned
char on AIX.
2007-09-24 13:01:48 +00:00
chris_kohlhoff
6023bfafcb Fix typo in Win32-specific code. 2007-09-21 12:21:37 +00:00
chris_kohlhoff
624a0ed3b0 Strict compilers don't like it when you pass a function with C linkage
as an argument when the parameter type has C++ linkage. Try using the type
of the msghdr::msg_namelen field as an alternative way of deducing the
socklen_t-equivalent type.
2007-09-21 12:16:03 +00:00
chris_kohlhoff
c1d5c89497 Fix some warnings. 2007-09-20 14:25:40 +00:00
chris_kohlhoff
964fe12f95 Fix Win32 test failure. 2007-09-20 13:59:17 +00:00
chris_kohlhoff
bc9861007f Use correct placement for calling convention specifier. 2007-09-20 13:33:49 +00:00
chris_kohlhoff
bcd07e7839 Fix crash in call_accept(). 2007-09-20 13:32:16 +00:00
chris_kohlhoff
cf29f05a17 Eliminate use of types and structure members that may not be present when
build for non-XOPEN targets.
2007-09-20 13:20:13 +00:00
chris_kohlhoff
f9eef58374 Some compilers require namespace-scope declarations of use_service,
has_service and add_service.
2007-09-20 13:13:33 +00:00
chris_kohlhoff
5741d260b2 Fix unused argument warning. 2007-09-18 13:14:46 +00:00
chris_kohlhoff
bc641c9ee7 Larger storage size needed for Windows x64. 2007-09-16 08:51:14 +00:00
chris_kohlhoff
6f11484d8b Fix for g++. 2007-09-16 02:17:36 +00:00
chris_kohlhoff
c5c1f1b3a1 Move handler queue management to a separate class. 2007-09-16 02:11:37 +00:00
chris_kohlhoff
cc78be4e41 Add a typedef to bring error_category into the asio namespace. 2007-09-15 13:42:36 +00:00
chris_kohlhoff
6a860bb09a Use a single safe string copying wrapper. 2007-09-12 14:01:17 +00:00
chris_kohlhoff
c5eb428d74 AIX seems to define the socket address family as an unsigned char rather than unsigned short. 2007-09-12 12:16:43 +00:00
chris_kohlhoff
62fc373652 Add missing #include of error header file. 2007-09-11 11:10:53 +00:00
chris_kohlhoff
07e65e0a9c Use enum-based error code constants. 2007-09-10 23:23:47 +00:00
chris_kohlhoff
ef08c1514e Use enum-based error code constants. 2007-09-10 22:42:03 +00:00
chris_kohlhoff
73f7202091 Enable buffer() overload workaround for Sun C++. 2007-09-01 05:44:51 +00:00
chris_kohlhoff
f478dd2916 Add AIX-specific compile time test for whether sockaddr_storage's family
field is called ss_family or __ss_family.
2007-09-01 00:20:07 +00:00
chris_kohlhoff
19d03866e8 Need to try binding the acceptor to test whether IPv6 is supported. 2007-09-01 00:17:18 +00:00
chris_kohlhoff
f8d0746080 Don't interrupt an already interrupted task. 2007-08-31 13:45:38 +00:00
chris_kohlhoff
88cad9858c Ignore errors from shutdown(). 2007-08-30 13:54:07 +00:00
chris_kohlhoff
1ea309de5e Fix deadlock that was a result of other wrapped_handler changes. 2007-08-30 13:10:39 +00:00
chris_kohlhoff
cdb150279c Fix template parameter names. 2007-08-30 13:10:20 +00:00
chris_kohlhoff
c2957d1adc Remove need to have a mutex per idle thread. 2007-08-30 12:38:44 +00:00
chris_kohlhoff
d7bf2a4bcd Fix problem where a thread can go idle even if there are handlers that are
ready to be dispatched.
2007-08-30 12:18:33 +00:00
chris_kohlhoff
f37c1af871 Fix io_service::wrap(). 2007-08-30 12:16:24 +00:00
chris_kohlhoff
11971795d2 Ensure that a strand is kept alive as long as there are wrapped handlers
for it.
2007-08-30 09:42:40 +00:00
chris_kohlhoff
d6432e8be7 Add #include needed for IOV_MAX. 2007-08-30 09:40:16 +00:00
chris_kohlhoff
54a9e0ec86 Fix unused argument warnings. 2007-08-20 14:56:32 +00:00
chris_kohlhoff
aee274eb7a Use shutdown() for portable graceful connection closure. 2007-08-20 11:48:53 +00:00
chris_kohlhoff
e2ed3daefd Fix inspect error about unlinked files. 2007-08-19 08:52:01 +00:00
chris_kohlhoff
9795c095c1 Fix inspect errors. 2007-08-19 08:39:40 +00:00
chris_kohlhoff
cd3a59fb05 Clean up some compiler warnings. 2007-08-19 07:43:41 +00:00
chris_kohlhoff
83b784c8d9 Use CancelIoEx if it's available. 2007-08-19 07:33:04 +00:00
chris_kohlhoff
764e4ca12c Revert to default Windows behaviour for closing a socket, and a note to
basic_socket<>::close() indicating that shutdown() should be used for
portable graceful closure.
2007-08-19 03:45:09 +00:00
chris_kohlhoff
c6b0eb3098 Fix order of initialisation problem with error categories. 2007-08-19 03:29:49 +00:00
chris_kohlhoff
3de5095154 Add a workaround for Windows Vista's handling of the boolean socket option
tcp::no_delay, where ::getsockopt will return the size of the option as one
byte, even though a four byte integer was passed in.
2007-08-13 12:32:15 +00:00
chris_kohlhoff
bd6aa8ae6c Add missing static keyword to the service_id_matches functions. 2007-08-12 22:20:31 +00:00
chris_kohlhoff
f4d1ef5682 Increase number of buffers that may be sent or received in a single
operation.
2007-08-09 12:14:18 +00:00
chris_kohlhoff
739cdbf78d Add a workaround for strange Windows behaviour where closing a socket while
there is a pending asynchronous read results in a connection reset error at
the peer.
2007-08-09 11:42:21 +00:00
chris_kohlhoff
d4dc079583 Need to include socket_types.hpp for definition of _WIN32_WINNT. 2007-07-29 09:01:59 +00:00
chris_kohlhoff
6497b961b7 Add support for the non-POSIX getaddrinfo errors EAI_NODATA and
EAI_ADDRFAMILY.
2007-07-29 09:00:42 +00:00
chris_kohlhoff
56a5d813e1 Don't cleanup pending timer objects while the reactor lock is held, since
the destructors for the objects may try to make calls back into the
reactor.
2007-07-25 13:21:46 +00:00
chris_kohlhoff
484af78b25 Always restart reactor operations if the callback handler indicates that
they should be restarted, even if there was an error associated with the
file descriptor, to ensure that operations don't get "lost".
2007-07-25 11:27:32 +00:00
chris_kohlhoff
61b3678fda Improve documentation for the completion condition function objects. 2007-07-25 04:32:49 +00:00
chris_kohlhoff
0453ef4a29 Eliminate spurious warning for MSVC8 when using /W4 and /Wp64. 2007-07-25 04:20:47 +00:00
chris_kohlhoff
79da424b79 Don't perform debug check on 0-sized buffers. 2007-06-21 14:03:36 +00:00
chris_kohlhoff
bbe9906942 Remove unnecessary slash from request path. 2007-06-21 13:44:24 +00:00
chris_kohlhoff
ad4f5debec Add handling for URL-escaping of spaces as plus signs. 2007-06-17 00:52:54 +00:00
chris_kohlhoff
14980966f1 Add note on using MSYS to build. 2007-06-17 00:52:53 +00:00
chris_kohlhoff
b66347e27e Add missing error message. 2007-05-27 07:50:05 +00:00
chris_kohlhoff
6badff8290 asio version 0.3.8 release candidate 3 released 2007-05-22 14:08:29 +00:00
chris_kohlhoff
eb30d228c6 TODO file is out of date. Remove it. 2007-05-22 13:05:35 +00:00
chris_kohlhoff
20e8cf0394 Add .cvsignore file. 2007-05-22 12:08:52 +00:00
chris_kohlhoff
1e3b72fdcf Work around mysterious Borland C++ bug that prevents getsockopt and
setsockopt from working correctly.
2007-05-21 12:34:39 +00:00
chris_kohlhoff
1278a63b40 Try to fix Borland C++ compile errors. 2007-05-20 03:33:23 +00:00
chris_kohlhoff
f095a70313 Fix URL-decoding. 2007-05-20 02:46:16 +00:00
chris_kohlhoff
29294a197c Documentation fixes. 2007-05-20 00:49:02 +00:00
chris_kohlhoff
c39106612e Fix URL-decoding. 2007-05-19 00:03:57 +00:00
chris_kohlhoff
7aae807c5e Need to enable SO_NOSIGPIPE option on FreeBSD. 2007-05-16 12:35:55 +00:00
chris_kohlhoff
3234c32c03 To get portable behaviour for SO_REUSEADDR with UDP, the Mac OS X and BSD
platforms also need SO_REUSEPORT to be set.
2007-05-13 23:00:01 +00:00
chris_kohlhoff
dd3af7b758 Allow everything to compile on platforms where IPV6_V6ONLY is not defined
(such as Linux distros with a 2.4 kernel), but make any use of ip::v6_only
fail at runtime.
2007-05-13 07:59:22 +00:00
chris_kohlhoff
42f99f0e22 Fix compiler warnings. 2007-05-13 07:54:29 +00:00
chris_kohlhoff
5985f8ca3a Preserve the user-set blocking mode over an async connect. 2007-05-12 09:07:32 +00:00
chris_kohlhoff
26ef4a6a03 Need to define IPV6_UNICAST_HOPS when building with an old Platform SDK. 2007-05-12 08:16:25 +00:00
chris_kohlhoff
6d71faeee7 Zero out address structure to prevent failures on some platforms. 2007-05-10 23:48:52 +00:00
chris_kohlhoff
7d32bc7a47 Some older UNIX platforms return EPROTO from accept() to indicate that a
connection was lost before being fully established.
2007-05-09 22:36:02 +00:00
chris_kohlhoff
0f43b3f234 Revert incorrect change to one of the test checks. 2007-05-08 22:48:04 +00:00
chris_kohlhoff
3d2cbf21dc Ensure internal non-blocking flag is set if the user wants non-blocking. 2007-05-08 13:37:53 +00:00
chris_kohlhoff
d0741ddca3 Add documentation note specifying that pending handlers are still executed
after a strand is destroyed.
2007-05-08 13:13:55 +00:00
chris_kohlhoff
df8ee8252b Add example illustrating a custom handler invocation hook. 2007-05-08 12:58:44 +00:00
chris_kohlhoff
476963e8d0 Add header file containing version number. 2007-05-08 12:17:36 +00:00
chris_kohlhoff
ee4d63e31f Fix another incorrect condition. 2007-05-08 10:53:36 +00:00
chris_kohlhoff
7905e7486d Fix test failure caused by incorrect condition check. 2007-05-08 10:47:27 +00:00
chris_kohlhoff
f2d5b143ee Fix boostification of new HTTP server examples. 2007-05-07 11:42:38 +00:00
chris_kohlhoff
304897c329 Ensure html files in src/examples/http/doc_root directory are copied over. 2007-05-07 11:26:36 +00:00
chris_kohlhoff
ea7eb11bee Clarify behaviour of io_service::run() in a thread pool. 2007-05-06 22:32:44 +00:00
chris_kohlhoff
9984b7088d Fix long lines. 2007-05-06 22:18:36 +00:00
chris_kohlhoff
062ffe1b64 Add new HTTP server examples. 2007-05-06 15:02:49 +00:00
chris_kohlhoff
62fcce94b0 Add new HTTP server examples. 2007-05-06 12:44:38 +00:00
chris_kohlhoff
3b0212141b Add HTTP server example demonstrating how to use a single io_service with a
thread pool.
2007-05-06 12:43:04 +00:00
chris_kohlhoff
9a87ceaa3d Use lexicast_cast instead of atoi. Check for 0-sized io_service pool. 2007-05-06 11:35:10 +00:00
chris_kohlhoff
ea110c3301 Fix ip::multicast::enable_loopback option so that it works on Solaris. 2007-05-06 10:51:53 +00:00
chris_kohlhoff
ed22527442 Add http_server example using io_service-per-CPU design. 2007-04-30 23:13:37 +00:00
chris_kohlhoff
d6e6d4ad3b Add support for boost 1.34.0. 2007-04-29 14:33:28 +00:00
chris_kohlhoff
fb0dd5ed54 Fix filename in comment block at top of file. 2007-04-25 08:34:41 +00:00
chris_kohlhoff
21337723ff Fix long line. 2007-04-22 07:07:15 +00:00
chris_kohlhoff
ddb7d66eef Fix bug in timer heap management. 2007-04-22 04:00:24 +00:00
chris_kohlhoff
46ed7d243a Enable buffer debugging for g++ when _GLIBCXX_DEBUG is defined. 2007-04-22 03:58:39 +00:00
chris_kohlhoff
5f8059e9c4 Don't copy a default-constructed vector iterator. 2007-04-08 23:47:05 +00:00
chris_kohlhoff
bc7225beeb Quick fix for message translation of miscellaneous and SSL errors. 2007-03-25 14:06:36 +00:00
chris_kohlhoff
426779948d Try to fix AIX compile error in tests. 2007-03-23 00:24:01 +00:00
chris_kohlhoff
547055b3f4 Fix problem where the safe_cancellation_thread_id_ was not being calculated
correctly.
2007-03-22 21:55:23 +00:00
chris_kohlhoff
4b077c67a7 Fix usage message. 2007-03-22 21:15:35 +00:00
chris_kohlhoff
fe9442657e Fix libstdc++ debug error. 2007-03-22 21:13:13 +00:00
chris_kohlhoff
3c2fc28476 Fix comments. 2007-03-22 21:08:02 +00:00
chris_kohlhoff
5c85f8ab62 Fix IPv6 detection. 2007-02-23 01:29:58 +00:00
chris_kohlhoff
ce2d401f31 asio version 0.3.8 release candidate 2 released 2007-02-21 07:18:13 +00:00
chris_kohlhoff
567bad6a99 Fix warnings on g++ 4.1.2. 2007-02-19 01:46:31 +00:00
chris_kohlhoff
96eab3f65e Fixes for Solaris and the Sun C++ compiler. 2007-02-17 22:57:40 +00:00
chris_kohlhoff
f923e31101 Fix error_code output. 2007-02-14 13:28:48 +00:00
chris_kohlhoff
67a063a6f3 Fixes for AIX. 2007-02-14 13:26:26 +00:00
chris_kohlhoff
43c4408213 Fix crash in comparison of service ids. 2007-02-13 12:06:43 +00:00
chris_kohlhoff
e0415012c7 Solaris defines FD_ZERO to use an unqualified call to memset, so we need to
make the function visible using 'using namespace std'.
2007-02-13 07:13:29 +00:00
chris_kohlhoff
1365c664f6 Add is_open() function to acceptor. 2007-02-09 05:47:48 +00:00
chris_kohlhoff
9ed1d33398 Fix to correctly clear error after successful call of WSAAddresstoString or
WSAStringToAddress.
2007-02-09 01:59:54 +00:00
chris_kohlhoff
b03fb227b7 Fix use of hash_value overloads to work on x64 with the Vista version of
the Platform SDK.
2007-02-09 00:59:17 +00:00
chris_kohlhoff
7f0beba1c0 Use IN6ADDR_ANY_INIT rather than IPPROTO_IPV6 to detect whether the Windows
Platform SDK supports IPv6, since the Vista Platform SDK has changed
IPPROTO_IPV6 to an enum.
2007-02-06 22:33:05 +00:00
chris_kohlhoff
eaf4ffa2f8 Workaround is required for BDS2006. 2007-02-06 22:08:03 +00:00
chris_kohlhoff
8cdafb24fd asio 0.3.8 release candidate 1 released. 2007-01-23 12:40:28 +00:00
chris_kohlhoff
46e37a1b8a Add missing files. 2007-01-23 11:47:53 +00:00
chris_kohlhoff
11a148ade2 Add warning message if unable to fully test the debug socket option on
Linux due to the test not running as root.
2007-01-20 02:01:38 +00:00
chris_kohlhoff
4baff611b2 On Linux, the SO_DEBUG socket option can only be set by root. 2007-01-19 22:38:24 +00:00
chris_kohlhoff
df0b2e2dfb Add socks4 example. 2007-01-19 01:02:04 +00:00
chris_kohlhoff
68a66d9ec1 Update basic_socket_streambuf and basic_socket_iostream to (almost) match
the TR2 proposal.
2007-01-18 11:41:36 +00:00
chris_kohlhoff
b2e54cd16e Add ability to turn iostream output buffering off. 2007-01-15 07:27:00 +00:00
chris_kohlhoff
cf2dfd7ce8 Fix iterator class to avoid returning a reference to a temporary. 2007-01-13 13:41:09 +00:00
chris_kohlhoff
268ce68b78 Automatically break large buffers into smaller chunks when using read(),
async_read(), write() or async_write().
2007-01-13 13:30:12 +00:00
chris_kohlhoff
49238b394c The misc_ecat error category now needs to be available for Win32 builds. 2007-01-13 12:27:25 +00:00
chris_kohlhoff
c5d262e470 Fix bug where the io_service could incorrectly run out of work (and so shut
down) when an overlapped I/O function fails immediately.
2007-01-13 03:50:24 +00:00
chris_kohlhoff
7f15228221 Add socks4 example to makefiles. 2007-01-12 04:56:46 +00:00
chris_kohlhoff
c22013ee98 Add SOCKS 4 client example. 2007-01-10 22:44:19 +00:00
chris_kohlhoff
720907868f Add workarounds to compile unit tests with Borland C++. 2007-01-09 04:58:05 +00:00
chris_kohlhoff
d01eb79088 Add socket_base::debug socket option. 2007-01-08 23:45:37 +00:00
chris_kohlhoff
02e8a4642c Fix Win32 compile. 2007-01-08 23:32:26 +00:00
chris_kohlhoff
fbc58cc9ff Update socket classes to match interfaces in TR2 proposal. 2007-01-08 22:12:48 +00:00
chris_kohlhoff
4b93bec4b8 Update timer classes to match TR2 proposal. 2007-01-08 02:47:13 +00:00
chris_kohlhoff
ce19a94bee Fix line length. 2007-01-08 01:09:14 +00:00
chris_kohlhoff
474a3eec1a Update io_service interface to match TR2 proposal. 2007-01-08 01:04:08 +00:00
chris_kohlhoff
a753a68641 Add messages for error::not_found. 2007-01-08 00:20:14 +00:00
chris_kohlhoff
f688088811 Modify behaviour of read_until and async_read_until to match TR2 proposal. 2007-01-07 08:05:53 +00:00
chris_kohlhoff
887425fccb Remove doc generation. 2007-01-06 23:24:38 +00:00
chris_kohlhoff
578131609b Make the behaviour of the IPV6_V6ONLY socket option on Windows as close to
POSIX as possible.
2007-01-06 08:45:37 +00:00
chris_kohlhoff
b74a1ebfe3 Fix ip::v6_only option so that it compiles on Windows. 2007-01-06 00:10:16 +00:00
chris_kohlhoff
b13e93fbc4 Add ip::v6_only socket option. 2007-01-05 23:56:43 +00:00
chris_kohlhoff
ac6f2df275 Fix socket option test failures on Linux. 2007-01-05 14:07:51 +00:00
chris_kohlhoff
6e041119a8 Update documentation. 2007-01-05 11:10:30 +00:00
chris_kohlhoff
f34a9d5d2d Use unicast::hops values that are valid for Linux. 2007-01-05 11:09:58 +00:00
chris_kohlhoff
75ea719c9d Test multicast socket options with both IPv4 and IPv6. 2007-01-05 05:37:41 +00:00
chris_kohlhoff
c4f8256af6 Add unicast::hops socket option. 2007-01-05 05:22:08 +00:00
chris_kohlhoff
d4b7a797c5 Fix examples to match current socket option interface. 2007-01-05 05:13:33 +00:00
chris_kohlhoff
ab86d1c90e Use non-throwing versions of get_option and set_option to make it easier to
find the locations of failures. Correctly handle unsupported socket options
on Windows.
2007-01-05 04:39:43 +00:00
chris_kohlhoff
409b6f2b1a Test socket options. 2007-01-04 23:35:34 +00:00
chris_kohlhoff
4fff2cc381 Rename const_buffer_container_1 to const_buffers_1 and
mutable_buffer_container_1 to mutable_buffers_1.
2007-01-04 10:23:32 +00:00
chris_kohlhoff
ed3fece8f8 Rename io_service::interrupt() to io_service::stop(). 2007-01-04 09:06:56 +00:00
chris_kohlhoff
db542f6d83 Update socket option classes to match interface in TR2 proposal. 2007-01-04 07:35:19 +00:00
chris_kohlhoff
7bc5a918e3 Update copyright strings to include 2007. 2007-01-04 05:44:52 +00:00
chris_kohlhoff
1e97918134 Fix boostified error code generation. 2007-01-04 05:31:39 +00:00
chris_kohlhoff
32b67a0271 More documentation cleanup. 2007-01-04 02:37:15 +00:00
chris_kohlhoff
99f7ec65d5 Exclude error_base from documentation. 2007-01-04 02:22:20 +00:00
chris_kohlhoff
2dd9943240 Clean up -Wextra warnings. 2007-01-02 07:49:51 +00:00
chris_kohlhoff
947c349fa7 Remove Jamfiles. 2006-12-30 13:36:49 +00:00
chris_kohlhoff
39bbcf2261 Fix template parameter names to match type requirements. 2006-12-30 08:49:09 +00:00
chris_kohlhoff
8963cf1411 Fixes for Borland and MinGW. 2006-12-30 07:21:50 +00:00
chris_kohlhoff
5e0077ab9b Fix MSVC forcing-to-bool warning. 2006-12-30 06:14:23 +00:00
chris_kohlhoff
d064a4a677 Add missing return statement. 2006-12-29 13:46:35 +00:00
chris_kohlhoff
4544c673c1 Add io_service::id to identify service classes. 2006-12-29 02:01:25 +00:00
chris_kohlhoff
6cf48289ba Documentation fixes. 2006-12-28 07:00:36 +00:00
chris_kohlhoff
5cfbfe8021 Rename template parameters to match TR2 proposal. 2006-12-21 12:29:03 +00:00
chris_kohlhoff
9d286431e3 Documentation updates. 2006-12-21 10:35:54 +00:00
chris_kohlhoff
bdf9394467 Map ERROR_PORT_UNREACHABLE to WSAECONNREFUSED. 2006-12-18 23:55:03 +00:00
chris_kohlhoff
7472a7e10a Remove BBv1 Jamfiles. 2006-12-18 01:24:53 +00:00
chris_kohlhoff
0f8e39edc2 Move erase from hash_map to prevent multiple delete. 2006-12-16 22:34:59 +00:00
chris_kohlhoff
7181ef2bac Replace win_iocp_io_service::register_socket() with register_handle() to
allow it to be used with other Windows kernel objects.
2006-12-09 22:17:52 +00:00
chris_kohlhoff
fff9700115 Use static placeholders for VC7.x 2006-11-23 21:01:39 +00:00
chris_kohlhoff
49e9332102 Add equality/inequality operators for protocol classes. 2006-11-20 12:51:28 +00:00
chris_kohlhoff
7476d97e9a Include <ostream> instead of <iostream>. 2006-11-19 21:21:29 +00:00
chris_kohlhoff
d6f0b0ba7e Add missing inline keyword, needed to fix multiple definition errors. 2006-11-19 21:18:39 +00:00
chris_kohlhoff
ea0a6e54e3 Add a workaround for an apparent Windows bug where the delivery of
asynchronous I/O completions is delayed if the thread used to start the
operation is CPU bound.
2006-11-17 11:34:32 +00:00
chris_kohlhoff
aa41040cd3 Remove the error::success constant since with the new error_code stuff
there is no unique value for success.
2006-11-17 10:38:57 +00:00
chris_kohlhoff
0ed83086c1 Remove unnecessary invoke hook since the default one provides the correct
behaviour, and including it here for the invoke_current_handler class breaks
MSVC 7.1 when generating browse information.
2006-11-16 11:23:23 +00:00
chris_kohlhoff
fd0246b896 Add ability to specify the level of concurrency desired, which is currently
used by Win32's I/O completion ports.
2006-11-15 22:25:33 +00:00
chris_kohlhoff
c9d679e579 Need to add boost/cerrno.hpp include in error.hpp. 2006-11-15 22:09:46 +00:00
chris_kohlhoff
9dbc37a28f Need to clear error after successful call of WSAAddressToString or
WSAStringToAddress.
2006-11-15 22:05:11 +00:00
chris_kohlhoff
1104e5a200 Don't use named temporary since it confuses g++ 3.3. 2006-11-14 10:37:35 +00:00
chris_kohlhoff
172c62cb31 Fix -Wextra warning. 2006-11-14 10:13:02 +00:00
chris_kohlhoff
43d5ca9853 Change to use function-based placeholders for gcc to avoid some duplicate
symbol linker problems.
2006-11-14 10:10:58 +00:00
chris_kohlhoff
864454cd2e Remove documentation that is no longer correct. 2006-11-10 12:49:31 +00:00
chris_kohlhoff
16c2299f3a Ensure that what gets thrown is the system_error exception. 2006-11-09 10:02:33 +00:00
chris_kohlhoff
cf7302074d Remove inclusion of boost/cerrno.hpp header. 2006-11-09 05:15:03 +00:00
chris_kohlhoff
5ab5b31498 The openssl_locking_func() callback can be invoked through
OpenSSL_add_ssl_algorithms(), which causes instance() to be called
recursively before the static shared_ptr was initialized.
2006-11-09 02:14:51 +00:00
chris_kohlhoff
c9b410a401 Fix comment headers to match file names. 2006-11-08 07:26:03 +00:00
chris_kohlhoff
a46d31c293 Fix Win32 build. 2006-11-07 13:50:03 +00:00
chris_kohlhoff
a670dd64ad Add back Sleep() call that was accidentally removed. 2006-11-07 13:38:01 +00:00
chris_kohlhoff
810ff8a2f4 Fix boost-layout conversion. 2006-11-07 12:39:24 +00:00
chris_kohlhoff
c40c18b62a Fix documentation index. 2006-11-05 08:14:24 +00:00
chris_kohlhoff
0177df0459 Change error handling to match TR2 proposal. 2006-11-05 08:01:30 +00:00
chris_kohlhoff
2e819c334a Rework placeholders to avoid ODR violations. 2006-11-05 04:59:36 +00:00
chris_kohlhoff
fddfb62053 Ignore output of latest version of boostify.pl. 2006-11-04 08:16:07 +00:00
chris_kohlhoff
7882895072 Get resolver_service implementation from correct namespace. 2006-10-31 12:42:29 +00:00
chris_kohlhoff
046eb9b997 Update Jamfiles to use new test names. 2006-10-31 11:08:18 +00:00
chris_kohlhoff
1a93029943 Rename unit tests to keep filenames shorter than 31 chars. 2006-10-31 11:05:41 +00:00
chris_kohlhoff
2f9f27b551 Add copyright notice to README file. 2006-10-31 06:17:22 +00:00
chris_kohlhoff
d2aa2538fe Rename win_local_free_on_block_exit to local_free_on_block_exit to get the
header file name under 31 chars.
2006-10-31 06:14:59 +00:00
chris_kohlhoff
5dc17dc5b0 Add empty unit test for read_until. 2006-10-31 06:07:41 +00:00
chris_kohlhoff
226638a09c Move basic_resolver and resolver_service into the asio::ip namespace. 2006-10-31 05:51:30 +00:00
chris_kohlhoff
609819af05 Add copyright notice. 2006-10-30 12:07:54 +00:00
chris_kohlhoff
29fae41653 Use static_cast to suppress some integer conversion warnings. 2006-10-29 21:28:12 +00:00
chris_kohlhoff
68fe17867e Ensure IOCP queue is drained correctly at shutdown. 2006-10-28 01:37:30 +00:00
chris_kohlhoff
0d0af5da68 Add buffer debugging support. 2006-10-26 23:17:00 +00:00
chris_kohlhoff
bd2bb49295 Fix removal of timer queue. 2006-10-26 23:05:53 +00:00
chris_kohlhoff
5313a22933 Fix Borland C++ compile. 2006-10-20 00:56:13 +00:00
chris_kohlhoff
87bf747f85 Use preprocessor check for presence or otherwise of wide iostreams. 2006-10-19 22:38:50 +00:00
chris_kohlhoff
089fe502e5 The win_fd_set_size enum value needs to be public. 2006-10-19 21:56:38 +00:00
chris_kohlhoff
adbdd4c29b Fix crash that occurs when multiple threads try to create the
deadline_timer_service simultaneously.
2006-10-19 16:42:03 +00:00
chris_kohlhoff
c1daa84872 Remove spurious return keyword. 2006-10-19 00:10:24 +00:00
chris_kohlhoff
62ecb2bfa2 Fix line length. 2006-10-17 18:46:06 +00:00
chris_kohlhoff
2f9be7dfd3 Add FreeBSD support. 2006-10-06 14:50:32 +00:00
chris_kohlhoff
f367bbdc4c GetQueuedCompletionStatus has only failed if it returns FALSE and the
overlapped pointer is NULL.
2006-10-04 21:43:43 +00:00
chris_kohlhoff
9bdef5f755 gethostname must be outside the emulation-only block. 2006-10-04 13:18:41 +00:00
chris_kohlhoff
3c85744cc2 Remove reference to non-POSIX EAI_NODATA. 2006-10-04 13:01:22 +00:00
chris_kohlhoff
5eec9a48fd NetBSD, FreeBSD and OpenBSD all use the same form of strerror_r. 2006-10-04 12:54:58 +00:00
chris_kohlhoff
b3b59ec6aa Only wrap gethostbyname, gethostbyaddr and friends if needed for emulation
of getaddrinfo and getnameinfo.
2006-10-04 12:53:52 +00:00
chris_kohlhoff
fad39a97df The macros FIONREAD and FIONBIO are not integer constants on all platforms,
and so cannot be used as template arguments.
2006-10-02 12:27:57 +00:00
chris_kohlhoff
a703d37853 Set the reuse_address option by default on acceptors. 2006-09-26 22:54:46 +00:00
chris_kohlhoff
c3cbe97663 Add ability to customise the SSL password callback function. 2006-09-24 07:46:23 +00:00
chris_kohlhoff
ef57c011e3 Need to use ERR_get_error() to get system error code. 2006-09-24 06:56:25 +00:00
chris_kohlhoff
f6bdcd5cba #ifdef out code that is not appropriate depending on platform. 2006-09-23 23:41:58 +00:00
chris_kohlhoff
0128fec193 Add detection of incorrect inclusion of WinSock.h. 2006-09-23 23:28:17 +00:00
chris_kohlhoff
b9438097bf Remove need to #define FD_SETSIZE on Win32. 2006-09-23 23:08:17 +00:00
chris_kohlhoff
e7974e1540 Add run_one(), poll() and poll_one() functions to the io_service. 2006-09-20 13:23:22 +00:00
chris_kohlhoff
acc304b757 Fix <= and >= operators. 2006-09-19 11:11:39 +00:00
chris_kohlhoff
7b16e585c3 Update address_v6 functions to match proposal. 2006-09-13 13:42:54 +00:00
chris_kohlhoff
c68910fd8d Add all comparison operators. 2006-09-13 13:42:34 +00:00
chris_kohlhoff
b7095e2b7c Update ip::address_v4 functions to match functions in TR2 proposal. 2006-09-13 07:15:40 +00:00
chris_kohlhoff
a5d344161e Win64 fixes. 2006-09-12 13:10:16 +00:00
chris_kohlhoff
7cac1ec74e Fix some memory leaks. 2006-09-11 11:26:33 +00:00
chris_kohlhoff
54659f8afe Rename basic_socketbuf to basic_socket_streambuf. 2006-09-10 11:13:00 +00:00
chris_kohlhoff
ef83ac60a7 Make strand a nested class of io_service. 2006-09-10 10:31:33 +00:00
chris_kohlhoff
e5fcb737d4 Rename asio_handler_dispatch to asio_handler_invoke. 2006-09-10 07:50:17 +00:00
chris_kohlhoff
e7a49fda71 Unset linger option when socket objects are destroyed. 2006-09-10 04:20:24 +00:00
chris_kohlhoff
137b63b8ed Temporary fix to better handle SSL_ERROR_SYSCALL. 2006-09-10 02:57:59 +00:00
chris_kohlhoff
ea9fb10af5 Fix to compile with Borland C++. 2006-08-26 08:58:27 +00:00
chris_kohlhoff
133ad40b4c Add io_service() function to io_service::work to return a reference to
the io_service object on which the work is being performed. Renamed
io_service::service::owner() to io_service::service::io_service().
2006-08-26 08:36:28 +00:00
chris_kohlhoff
f035a66d09 Fix crash. 2006-08-26 02:50:59 +00:00
chris_kohlhoff
7b948b5463 Make a strand last longer as long as it has any handlers to dispatch. 2006-08-26 02:20:58 +00:00
chris_kohlhoff
79f3b9a277 Add a workaround for an apparent Windows bug where using getpeername on a
socket accepted using AcceptEx will sometimes return an endpoint that is
all zeroes.
2006-08-23 12:57:22 +00:00
chris_kohlhoff
ac30a366ac Fix uninitialised data warnings from valgrind. 2006-08-22 11:37:51 +00:00
chris_kohlhoff
21b1476d44 Implement socket operation cancellation on Win32. The cancel call only
works if all operations for the socket have been issued from the same
thread, otherwise it fails with asio::error::not_supported.
2006-08-09 14:36:34 +00:00
chris_kohlhoff
5114d916db Add cancel() function for cancelling asynchronous socket operations. The
Win32 implementation simply returns not_supported for now.
2006-08-09 13:59:49 +00:00
chris_kohlhoff
32ed09af84 Make a 0-length send or receive on a stream socket into a no-op. 2006-08-09 11:54:18 +00:00
chris_kohlhoff
79ea0f9a6e Make basic_io_object constructor protected. 2006-07-31 13:22:37 +00:00
chris_kohlhoff
c2bb2ed399 Add max_size() function. 2006-07-28 12:42:17 +00:00
chris_kohlhoff
4512ae2d9f Fix MSVC8 warning. 2006-07-28 12:30:25 +00:00
chris_kohlhoff
e6bdc5ba36 Fix compiler warnings with MSVC8. 2006-07-25 10:48:03 +00:00
chris_kohlhoff
a1a9844ed2 Removed spurious code probably left over from a cut-and-paste. 2006-07-24 14:01:27 +00:00
chris_kohlhoff
9dcd7f5282 Add timers examples to documentation, and include them in boost layout
package.
2006-07-23 01:23:56 +00:00
chris_kohlhoff
7dfa277052 Missed passing recv_buf to one openssl_operation constructor call. 2006-07-22 00:10:18 +00:00
chris_kohlhoff
874cafad30 Fix two problems in the SSL implementation:
- A read operation should check the read buffer first to see if there's any
  data present and use that first, before issuing a new read from the
  socket.

- The read buffer was a member of the openssl_operation class, and a new
  openssl_operation object is created for each read or write initiated by
  the application. This meant that any surplus data from a previous read is
  lost. Changed the buffer to be a member of the stream object.
2006-07-21 23:04:35 +00:00
chris_kohlhoff
19c52b885c Don't wrap the time_t time value in a class, just the duration. 2006-07-19 22:39:16 +00:00
chris_kohlhoff
39bc760df1 Add example illustrating a custom timer using GetTickCount(). 2006-07-19 14:42:10 +00:00
chris_kohlhoff
25e0214529 Maintain separate timer queues for each time traits type. This is necessary
to support a monotonic timer that is not affected by changes to the system
clock.
2006-07-19 13:22:51 +00:00
chris_kohlhoff
3499d7a14b Add copyright notices. 2006-07-18 11:33:24 +00:00
chris_kohlhoff
30433fa832 Remove tab characters. 2006-07-15 23:09:44 +00:00
chris_kohlhoff
8426976f01 Fix error in socket_base_test rule. 2006-07-14 13:07:01 +00:00
chris_kohlhoff
2b5c989bce Add overloads of read_until and async_read_until that take a string. Fix
bug in regex-based overload of async_read_until.
2006-07-09 06:40:20 +00:00
chris_kohlhoff
0888d19d59 Remove redundant code after end of endless for loop. 2006-07-09 06:24:59 +00:00
chris_kohlhoff
b65b7355a6 Fix error in conditional expression. 2006-07-09 06:17:11 +00:00
chris_kohlhoff
7ca8b8b144 Fix references to member functions. 2006-07-07 07:45:09 +00:00
chris_kohlhoff
4625f28d47 Remove accidentally duplicated code. 2006-07-06 22:44:17 +00:00
chris_kohlhoff
23196b5c79 Remove extraneous comma from end of enumerator list. 2006-07-06 09:57:49 +00:00
chris_kohlhoff
630d4ec8f9 Fix line wrapping in boost-format code. 2006-07-05 06:22:01 +00:00
chris_kohlhoff
6f01b77be4 Add check for NetBSD, which should use the same strerror_r form as Mac OS. 2006-07-03 11:51:27 +00:00
chris_kohlhoff
b6bc1b49c0 Add workaround for Mac OS X 10.3, where the msghdr structure does not
follow the POSIX definition.
2006-07-03 11:47:41 +00:00
chris_kohlhoff
620d93da2a Add dispatch hook name conversion. 2006-07-02 22:23:13 +00:00
chris_kohlhoff
3610229adc Implement custom dispatch hooking support in the composed async operations
async_read, async_read_until and async_write.
2006-07-01 13:15:30 +00:00
chris_kohlhoff
a8e71f37a1 Disable handler dispatch hooking on Borland C++. 2006-06-30 14:48:37 +00:00
chris_kohlhoff
bdf692ea09 Add hook function for customising handler dispatch. 2006-06-30 14:17:08 +00:00
chris_kohlhoff
0a45663170 Automatically #define EV_OOBAND if not already defined, since some older
versions of Mac OS X don't define it.
2006-06-29 12:46:53 +00:00
chris_kohlhoff
9085c1a635 Change strand implementation so that dispatch will execute a handler
immediately if called from within the strand.
2006-06-28 08:33:26 +00:00
chris_kohlhoff
9b4c45683c Extend socket_base unit test to catch socket option compile errors. 2006-06-28 07:09:39 +00:00
chris_kohlhoff
b8e3fae33e Need to use reinterpret_cast when testing for enable_connection_aborted
socket option, to allow non-int socket options to compile correctly.
2006-06-27 22:46:12 +00:00
chris_kohlhoff
81fb7d650f Revert makefile change to define WIN32. Instead WIN32 will be defined
automatically by the asio header files.
2006-06-24 13:05:42 +00:00
chris_kohlhoff
c1834b187a Need to define WIN32 to work with some versions of the Microsoft Platform
SDK.
2006-06-23 13:00:56 +00:00
chris_kohlhoff
07e7b9388d asio version 0.3.7 released 2006-06-20 13:38:28 +00:00
chris_kohlhoff
01362eafe7 Add cygwin to list of supported platforms. 2006-06-19 13:06:20 +00:00
chris_kohlhoff
aa54accf17 Add note about Boost.Regex requirement. 2006-06-18 11:55:17 +00:00
chris_kohlhoff
5151a26c4d Add HTTP Client to list of examples. 2006-06-18 10:44:42 +00:00
chris_kohlhoff
68e6133d3b Update boost-layout documentation. 2006-06-18 10:40:47 +00:00
chris_kohlhoff
906727a7c0 Update to doxygen 1.4.7 2006-06-18 07:36:39 +00:00
chris_kohlhoff
f4c6ed69af Add documentation for forwarding constructors and connect function. 2006-06-18 07:35:49 +00:00
chris_kohlhoff
51f745b066 Add missing include. 2006-06-18 07:08:11 +00:00
chris_kohlhoff
c115a2da9b Move read/async_read/write/async_write functions for basic_streambuf into
the read.hpp and write.hpp header files.
2006-06-18 02:12:54 +00:00
chris_kohlhoff
f50c88ccac Fix bug in reactor_op_queue::dispatch_all_operations where invoke() was
being called on the wrong (and potentially NULL) pointer.
2006-06-17 23:25:55 +00:00
chris_kohlhoff
d943921ec4 Add HTTP client example. 2006-06-17 14:43:08 +00:00
chris_kohlhoff
81318ad108 Add HTTP client examples that use read_until/async_read_until. 2006-06-17 14:15:54 +00:00
chris_kohlhoff
6bcc124ca6 Make streambuf member function names less cryptic. 2006-06-17 14:14:41 +00:00
chris_kohlhoff
e55097e2db Fix long line in boost version. 2006-06-17 14:14:16 +00:00
chris_kohlhoff
a0afcfe6aa Ignore daytime_server 2006-06-16 23:38:58 +00:00
chris_kohlhoff
66c5a304de Fix out-of-date doxygen comments. 2006-06-16 23:09:08 +00:00
chris_kohlhoff
e00ec10c39 Update Jamfiles to work as part of Boost regression tests. 2006-06-16 14:43:09 +00:00
chris_kohlhoff
37dbfb3bda Ensure synchronous SSL functions call the supplied Error_Handler object. 2006-06-16 11:52:28 +00:00
chris_kohlhoff
2f7d40c481 Add compile-time ssl::stream test. 2006-06-16 07:12:49 +00:00
chris_kohlhoff
1a1b6c3a9f Add missing read_until.ipp. 2006-06-15 14:33:52 +00:00
chris_kohlhoff
3ab740e40c Update jamfiles, boost documentation. 2006-06-14 21:57:18 +00:00
chris_kohlhoff
c778011f8e Documentation updates. 2006-06-14 12:34:40 +00:00
chris_kohlhoff
ac34741e05 Updated THANKS list. 2006-06-14 05:07:03 +00:00
chris_kohlhoff
ad6773e9ea Add example showing use of iostreams support in a server. 2006-06-14 05:01:30 +00:00
chris_kohlhoff
597ee96a95 Fix to allow iostreams support to work with MSVC. Add iostreams example
to Windows makefiles.
2006-06-13 23:05:37 +00:00
chris_kohlhoff
5f39b8755d Update iostreams example to use new ip::tcp::iostream class. 2006-06-13 22:51:17 +00:00
chris_kohlhoff
a2ebf5a38d Add initial (but buggy) iostream support. 2006-06-13 14:04:33 +00:00
chris_kohlhoff
237d4760f6 Define BOOST_ALL_NO_LIB to preveent autolinking of regex as well as
date_time.
2006-06-12 15:04:32 +00:00
chris_kohlhoff
c1a14e6c6b Add read/async_read and write/async_write functions for streambufs. 2006-06-12 14:15:34 +00:00
chris_kohlhoff
08fd9a2d70 Add streambuf class and read_until/async_read_until functions. 2006-06-12 12:27:26 +00:00
chris_kohlhoff
c6e4883faa Improve timeout resolution of select call. 2006-06-07 13:03:16 +00:00
chris_kohlhoff
d2f24934ae Fix header ordering issues. 2006-06-05 22:16:01 +00:00
chris_kohlhoff
334704ed02 Emulate InterlockedExchangePointer and InterlockedCompareExchangePointer
when building with ancient Platform SDKs.
2006-06-05 22:15:37 +00:00
chris_kohlhoff
94a30d5047 Add support for a macro ASIO_NO_DEFAULT_LINKED_LIBS for disabling automatic
linking of winsock libraries.
2006-06-05 13:28:19 +00:00
chris_kohlhoff
b6d10e15c3 Pass additional template arguments to basic_* classes and make Service a defaulted template parameter 2006-06-04 14:31:19 +00:00
chris_kohlhoff
4c916bc3ea Fix documentation errors. 2006-06-04 03:08:35 +00:00
chris_kohlhoff
05ad1cdd01 Fix race condition that can occur on reactor service shutdown when the
reactor is being run by an internal thread.
2006-06-02 14:30:35 +00:00
chris_kohlhoff
8afba9b0fd Specify that async connect operations are also cancelled if you close a
socket.
2006-06-02 03:57:26 +00:00
chris_kohlhoff
2b83817a83 Fix documentation error. 2006-05-31 13:27:47 +00:00
chris_kohlhoff
87a1fa301a Add workaround to get buffer() overloads for boost::array working with
Borland C++.
2006-05-31 08:40:00 +00:00
chris_kohlhoff
93d2f6ee83 Update tutorial programs to remove "C style" constructs. 2006-05-31 08:31:43 +00:00