2
0
mirror of https://github.com/boostorg/asio.git synced 2026-02-26 02:42:08 +00:00
Commit Graph

233 Commits

Author SHA1 Message Date
Christopher Kohlhoff
7176a41d0d Refactor reactive socket implementation so that synchronous read, write,
accept and connect operations don't modify data associated with the socket.


[SVN r48491]
2008-08-31 09:01:59 +00:00
Christopher Kohlhoff
bb6bfd4b5a Change the CompletionCondition concept so that:
- It is now evaluated before the first call to the underlying
  *_some() operation, as well as after every operation.
- The return value is a number of bytes, which indicates the maximum
  length to be transferred on the subsequent *_some() operation. If
  the return value is 0 then the composed operation completes.

Add missing unit tests for read_at and write_at.


[SVN r48418]
2008-08-28 12:11:47 +00:00
Christopher Kohlhoff
05bf3b8195 Fix duplicate variable warning. Use get_io_service() rather than
deprecated io_service() function.


[SVN r48416]
2008-08-28 12:06:42 +00:00
Christopher Kohlhoff
94292f1605 Fix duplicate variable warning.
[SVN r48415]
2008-08-28 12:04:21 +00:00
Christopher Kohlhoff
7387044863 Fix uninitialised event handles in asio::detail::thread in external mode.
[SVN r48414]
2008-08-28 12:03:46 +00:00
Christopher Kohlhoff
302ca4f79d Update version to match release.
[SVN r48410]
2008-08-28 09:04:31 +00:00
Christopher Kohlhoff
8b4057a004 Include CREAD and CLOCAL in the default flags for serial ports.
[SVN r48039]
2008-08-09 01:47:11 +00:00
Christopher Kohlhoff
a81db41dbc QNX defines AI_V4MAPPED, AI_ALL and AI_ADDRCONFIG but does not implement them.
[SVN r48033]
2008-08-08 14:49:23 +00:00
Christopher Kohlhoff
0b693c585c Fix memory leak in use_tmp_dh_file().
[SVN r48032]
2008-08-08 14:48:24 +00:00
Christopher Kohlhoff
71d47ca98c Fix a tight spin on epoll (or /dev/poll) that occurs when the EPOLLERR and
EPOLLHUP events are reported for a descriptor and there are no pending
operations.


[SVN r48031]
2008-08-08 14:47:58 +00:00
Christopher Kohlhoff
2d79a40ae6 Correct an array bounds error in the treatment of paths for UNIX domain sockets.
Fixes #2120.


[SVN r47673]
2008-07-22 08:26:35 +00:00
Christopher Kohlhoff
285f3e5246 Fix SSL thread ID function to work correctly on 64-bit Windows.
[SVN r47218]
2008-07-08 12:31:48 +00:00
Christopher Kohlhoff
c8899c13a0 POSIX platforms are not required to define IOV_MAX, so if it's not
available default to the stipulated minimum of 16.


[SVN r47217]
2008-07-08 12:30:49 +00:00
Christopher Kohlhoff
479a3abd98 Version bump.
[SVN r47014]
2008-07-02 22:52:22 +00:00
Christopher Kohlhoff
e14e831413 Clarify behaviour of read_until/async_read_until with respect to leftover
data in the streambuf. Use separate brief descriptions for function groups.
Add some extra notes to the io_service documentation.


[SVN r46950]
2008-07-01 12:14:57 +00:00
Christopher Kohlhoff
4123435aa2 Improve buffer() documentation. Fix vector overloads to match TR2 proposal.
[SVN r46949]
2008-07-01 12:13:51 +00:00
Christopher Kohlhoff
e8c7f33c05 Fix name of parameter as referred to in documentation.
[SVN r46945]
2008-07-01 11:53:54 +00:00
Christopher Kohlhoff
39f9567e78 Fix documentation on behaviour when a connect operation fails.
[SVN r46944]
2008-07-01 11:52:54 +00:00
Christopher Kohlhoff
03fc0e7dd6 One more check needed for BSD serial port extensions.
[SVN r46535]
2008-06-20 00:25:50 +00:00
Christopher Kohlhoff
ffe21c73a2 Fix serial port support on POSIX platforms that don't provide the BSD
extensions cfmakeraw, cfsetspeed and CRTSCTS.


[SVN r46507]
2008-06-19 12:50:02 +00:00
Christopher Kohlhoff
6e1c421d72 Fix for unicode builds.
[SVN r46506]
2008-06-19 12:41:32 +00:00
Christopher Kohlhoff
43e62310b6 Add new overloads for read_until and async_read_until that invoke a
user-defined function object to determine when a match has been found.


[SVN r46475]
2008-06-18 13:03:46 +00:00
Christopher Kohlhoff
2d5f24d6ae Fix write_at declaration. Add missing documentation for offset parameters.
[SVN r46473]
2008-06-18 11:22:21 +00:00
Christopher Kohlhoff
1539f2c8a1 Add an iterator for bytewise traversal of a buffer sequence.
[SVN r46415]
2008-06-16 00:41:29 +00:00
Christopher Kohlhoff
2d4504e512 Only perform check for a 0-byte receive meaning EOF on SOCK_STREAM sockets.
[SVN r46327]
2008-06-11 13:07:41 +00:00
Christopher Kohlhoff
cac7fe6350 Remove repeated typedef of reactor_type.
[SVN r46325]
2008-06-11 12:41:48 +00:00
Christopher Kohlhoff
fa82af9e16 Add random-access handles for use on Windows.
[SVN r46319]
2008-06-11 11:17:53 +00:00
Christopher Kohlhoff
7e062f298d Add support for serial ports.
[SVN r46272]
2008-06-09 12:54:55 +00:00
Christopher Kohlhoff
f3ee6627d8 Fix a deadlock that can occur when destroying a thread object with global
lifetime in a dynamically loaded DLL on Windows. Note that deadlock can
still occur if the thread is launched by the constructor of an object with
global lifetime.


[SVN r45935]
2008-05-30 08:39:19 +00:00
Christopher Kohlhoff
56b93eea3a Fix a crash that can occur when destroying a handler object that owns its
own memory (as is the case when destroying handlers in an orphaned strand).


[SVN r45811]
2008-05-27 07:54:12 +00:00
Christopher Kohlhoff
ac762e87b9 Some Windows platforms don't define IPPROTO_ICMPV6.
[SVN r45633]
2008-05-21 22:56:49 +00:00
Christopher Kohlhoff
e011561170 Implement custom allocation support for timer operations.
[SVN r45600]
2008-05-21 09:25:12 +00:00
Christopher Kohlhoff
db608c4370 Add check for empty heap when determining the minimum wait duration for a
timer queue.


[SVN r45355]
2008-05-14 12:17:26 +00:00
Christopher Kohlhoff
40fd64673f Use an atomic counter for strand reference counting.
[SVN r45179]
2008-05-06 22:09:47 +00:00
Christopher Kohlhoff
f4b17b0fda Implement custom memory allocation support for reactor-based asynchronous operations.
[SVN r45122]
2008-05-05 06:30:13 +00:00
Christopher Kohlhoff
09272f1402 Add fast-pathing of speculative reads and writes to the kqueue_reactor.
[SVN r45059]
2008-05-03 11:36:16 +00:00
Christopher Kohlhoff
a89f7596cf Don't use the names readv and writev for functions defined inside asio as
these names seem to be macros on Tru64.


[SVN r45010]
2008-05-02 08:38:15 +00:00
Christopher Kohlhoff
7acfc68a3a A memory barrier is needed on some platforms to ensure that all updates
to the node occur before the tail pointer is updated.


[SVN r44998]
2008-05-01 22:27:21 +00:00
Christopher Kohlhoff
ee366184d6 Add a fast path for some speculative read and write operations in the
epoll_reactor.


[SVN r44997]
2008-05-01 22:00:26 +00:00
Christopher Kohlhoff
a34a1413ca Add an experimental two-lock queue implementation for task_io_service.
[SVN r44851]
2008-04-28 13:56:07 +00:00
Christopher Kohlhoff
23c4f7061d Add raw socket support.
[SVN r44849]
2008-04-28 13:36:18 +00:00
Christopher Kohlhoff
bfda1481e0 Update asio version number.
[SVN r44848]
2008-04-28 13:35:27 +00:00
Christopher Kohlhoff
8768d9dff1 Fix or suppress MSVC level 4 warnings. Fixes #1703.
[SVN r44727]
2008-04-22 23:46:15 +00:00
Christopher Kohlhoff
482e083b76 Remove a local variable that was hiding the ec parameter and preventing
error codes from being correctly propagated. Fixes #1820.


[SVN r44679]
2008-04-21 05:52:20 +00:00
Christopher Kohlhoff
ee449aa163 Add new wrapper classes for stream-oriented handles on Windows.
[SVN r44676]
2008-04-21 05:32:34 +00:00
Christopher Kohlhoff
1ef42e04c6 Add new wrapper classes for stream-oriented file descriptors on POSIX platforms.
[SVN r44675]
2008-04-21 05:16:15 +00:00
Christopher Kohlhoff
f784e54ced Add support for UNIX domain sockets.
[SVN r44674]
2008-04-21 04:43:05 +00:00
Christopher Kohlhoff
a277af13a5 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.


[SVN r44673]
2008-04-21 04:02:37 +00:00
Christopher Kohlhoff
5d44c01796 Improve documentation for the protected functions and data in basic_io_object<>.
[SVN r44670]
2008-04-21 02:01:34 +00:00
Christopher Kohlhoff
2ae65fbd27 Fix infinite recursion in the ssl::stream's shutdown() implementation.
[SVN r44668]
2008-04-21 01:42:10 +00:00