Commit graph

217 commits

Author SHA1 Message Date
Vladimir Panteleev
d81efd40f9 std.socket, .socketstream: Link to examples on GitHub 2011-09-07 23:56:44 +03:00
Vladimir Panteleev
65c7f6b80f std.socket: Refactor all *Address.toString implementations to a single base one 2011-09-07 23:56:30 +03:00
Vladimir Panteleev
ad2d04668a std.socket: check for invalid IP addresses in InternetHost.getHostByAddr 2011-09-07 23:56:21 +03:00
Vladimir Panteleev
aefbe78e3a std.socket: add getAddress function 2011-09-07 23:56:20 +03:00
Vladimir Panteleev
d9f43ab954 std.socket: add Internet6Address 2011-09-07 23:56:18 +03:00
Vladimir Panteleev
88a90251d6 std.socket: reword InternetAddress constructor DDoc 2011-09-07 23:56:16 +03:00
Vladimir Panteleev
15b8d62c65 std.socket: Make getAddressInfo template-variadic 2011-09-07 23:56:14 +03:00
Vladimir Panteleev
093c6f1f4d std.socket: Drop AddressInfoHints, DDoc updates 2011-09-07 23:56:13 +03:00
David Nadlinger
5adfd209db InternetHost.getHostByAddr accepts address in host byte order.
Thanks to Vladimir Panteleev for reporting this.
2011-09-06 16:06:09 +02:00
Vladimir Panteleev
cf9c945e71 std.socket: Add getAddressInfo 2011-09-05 22:33:33 +03:00
Vladimir Panteleev
cb8d20b3a8 std.socket: Add UnknownAddressReference class 2011-09-05 22:11:56 +03:00
Vladimir Panteleev
5528b31edd std.socket: Fix typo in documentation 2011-09-05 22:10:48 +03:00
Vladimir Panteleev
94b782ef70 std.socket: Add toAddrString, toPortString, toServiceNameString to Address 2011-09-05 20:54:15 +03:00
Vladimir Panteleev
3cc1436133 std.socket: Require hostname when using getnameinfo, for consistency with gethostbyaddr 2011-09-05 16:33:30 +03:00
Vladimir Panteleev
eb7d8d930f std.socket: Update module authors 2011-09-05 14:53:38 +03:00
Vladimir Panteleev
57159cd936 std.socket: Address DDoc improvements 2011-09-05 14:11:57 +03:00
Vladimir Panteleev
1ee33a4932 std.socket: Address-family-agnostic getnameinfo support
This commit refactors getnameinfo usage in toHostNameString into a new
method in the base Address class, and provides an IPv4-specific override
in InternetAddress which uses the deprecated getHostByAddr function.
2011-09-05 14:01:52 +03:00
Vladimir Panteleev
193fffc519 std.socket: use INADDR_ANY 2011-09-05 13:57:09 +03:00
Vladimir Panteleev
d6ccb3447b std.socket: Fix documentation of InternetHost.getHostByAddr 2011-09-05 12:47:54 +03:00
Vladimir Panteleev
bbbf60df7c std.socket: Implement Address.addressFamily in the base class 2011-09-05 12:38:39 +03:00
Vladimir Panteleev
f4a629bd13 std.socket: Add const name() method to Address covariant with non-const method 2011-09-05 12:30:49 +03:00
Vladimir Panteleev
6313c40bca std.socket: Mark SocketException.errorCode as scheduled for deprecation 2011-09-05 12:12:16 +03:00
Vladimir Panteleev
7aa9e5fbe3 std.socket: fix reverse IPv4 lookup via gethostbyaddr (with test) 2011-09-04 21:38:22 +03:00
Vladimir Panteleev
c42e414674 std.socket: Linger struct - D naming conventions and automatic field typing 2011-09-04 15:13:31 +03:00
Vladimir Panteleev
48c3c8234e std.socket: use stdint types for network numbers 2011-09-04 14:48:51 +03:00
Vladimir Panteleev
8d8726b28d std.socket: use thread-safe name resolution where it's available 2011-09-04 13:55:14 +03:00
Daniel Murphy
b2a4c71b63 Fix typo 2011-09-03 23:52:28 +10:00
Daniel Murphy
66630de763 Remove another stray typedef 2011-09-03 22:28:58 +10:00
Vladimir Panteleev
0e94b20b62 std.socket: Refactor common code in InternetHost methods 2011-09-03 13:16:27 +03:00
Vladimir Panteleev
5fb6c4ed64 Merge branch 'master' into new-std-socket 2011-09-03 09:35:22 +03:00
Daniel Murphy
1590a5cc38 Issue 6572 - Deprecate typedef
Remove use of deprecated typedef from phobos.  This mostly consists of changing typedef to alias, and disabling unittests that require typedef.  One change to std.registry is needed to work around a bug in typedef (6571).
2011-08-30 13:22:10 +10:00
Vladimir Panteleev
8716f74a42 std.socket: Refactor Service.getServiceBy* to use optional arguments instead of overloads 2011-08-26 08:26:29 +03:00
Vladimir Panteleev
8be7c18cf3 std.socket: verify capacity in SocketSet operations for memory safety 2011-08-25 07:19:21 +03:00
Vladimir Panteleev
8fee67f4ca std.socket: add getErrorText() to Socket 2011-08-25 07:14:22 +03:00
Vladimir Panteleev
aec1d8ed79 Issue 3484 - std.socket.Address hierarchy not const-safe 2011-08-24 08:47:09 +03:00
Vladimir Panteleev
65e6bbea31 Merge branch 'std-socket-chris' into new-std-socket
Conflicts:
	std/socket.d
2011-08-24 08:01:08 +03:00
Chris Miller
8e743ade60 std.socket updates and boost license
Committed on behalf of Christopher Miller by Vladimir Panteleev <thecybershadow@gmail.com>
2011-08-24 06:41:26 +03:00
Vladimir Panteleev
1f2cc3ac74 std.socket: Add support for variable set sizes on Windows 2011-08-22 07:30:41 +03:00
Vladimir Panteleev
956decdba7 std.socket: re-enabled Windows getProtocolByType test (works for me) 2011-08-22 05:54:30 +03:00
Vladimir Panteleev
9b5aa12891 std.socket: replace version(BsdSockets) with version(Posix) 2011-08-22 05:50:06 +03:00
Vladimir Panteleev
1963269deb std.socket: add wouldHaveBlocked function 2011-08-22 05:33:31 +03:00
Vladimir Panteleev
0ac3b8cd39 std.socket: Add support for error message formatting on Windows 2011-08-22 05:31:05 +03:00
Vladimir Panteleev
4dfe306463 std.socket: Refactor error message retrieval to own function, add lastSocketError 2011-08-22 05:22:56 +03:00
Vladimir Panteleev
6ecc85b8e4 std.socket: Ddoc formatting and minor improvements 2011-08-22 05:13:18 +03:00
Vladimir Panteleev
d3493b9b6f std.socket: Add SocketOSException and SocketParameterException classes 2011-08-22 05:12:09 +03:00
Vladimir Panteleev
5c95c81d9a Uncrustify std.socket 2011-08-15 03:00:02 +03:00
dsimcha
4f7f6c8e52 Fix trivial build breakage on Windows. 2011-08-14 11:30:24 -04:00
Daniel Green
dcbfae3364 Merge GDC Win64 changes. 2011-08-14 00:52:10 -04:00
Daniel Murphy
48403470da Unbreak the build - Ignore the fact that MSG_NOSIGNAL is not a member of SocketFlags. 2011-07-09 10:06:19 +10:00
David Nadlinger
5ae54cbf5d Disable SIGPIPE on send()ing to a Socket on OS X.
Previously, std.socket code assumed that MSG_NOSIGNAL existed on all platforms, which is not the case – std.c.osx.socket actually has a comment saying »Not defined in OS X, but we'll use them anyway«. This lead to Socket.send() raising SIGPIPE on OS X if the peer had already closed the connection.

With this commit, std.socket sets the SO_NOSIGPIPE socket option on systems that support it for the same effect as MSG_NOSIGNAL on Linux.

Strictly speaking, removing the NOSIGNAL SocketFlag is a breaking API change, but I do not think there is any code actually using it, as it has always been set implicitly by std.socket anyway.
2011-07-05 15:33:07 +02:00