Commit graph

181 commits

Author SHA1 Message Date
Vladimir Panteleev
4698949399 std.socket: Replace Socket.newFamilyObject with createAddress
Socket.newFamilyObject was a private method which simply called
createAddress().
2011-09-08 01:19:03 +03:00
Vladimir Panteleev
f8846a4f46 std.socket: More constness 2011-09-08 01:19:01 +03:00
Vladimir Panteleev
2575a0b1ce std.socket: Tcp/UdpSocket constructor DDoc 2011-09-08 01:19:00 +03:00
Vladimir Panteleev
1732544f50 std.socket: Allow specifying Socket.select timeout as Duration 2011-09-08 01:18:44 +03:00
Vladimir Panteleev
b7fea71755 std.socket: Change delay type from int to long in Socket.select
0x7FFFFFFF microseconds is about 36 minutes. An application which uses
the select() timeout for event timing may specify a value larger than that,
if it needs to wake up hourly or less often.
2011-09-08 00:12:18 +03:00
Vladimir Panteleev
4a5b955593 std.socket: Timeout option refactoring and overflow checks 2011-09-08 00:12:16 +03:00
Vladimir Panteleev
1c0eea1a4a std.socket: Mention error diagnostic functions in send*/receive* DDoc 2011-09-08 00:12:15 +03:00
Vladimir Panteleev
864d566852 std.socket: Check sockaddr length in local/remoteAddress 2011-09-08 00:12:13 +03:00
Vladimir Panteleev
e1960bd824 std.socket: Use socklen_t 2011-09-08 00:12:11 +03:00
Vladimir Panteleev
75fcdfa1b6 std.socket: Add Socket.this(AddressInfo) constructor 2011-09-08 00:12:10 +03:00
Vladimir Panteleev
3a33e01a79 std.socket: @property 2011-09-07 23:56:51 +03:00
Vladimir Panteleev
a22d88fe5f std.socket: Wrap C structs for TimeVal and Linger
Instead of trying to mimic the internal layout of the C timeval and linger
structures (and risking silent breakages due to differences in types,
field order and alignment issues), properly wrap them and provide proxy
properties for accessing their fields. Unfortunately I couldn't find a
neat way to do this neatly while preserving documentation, the deprecation
of the C field names and the new aliases. If Issue 6619 is implemented,
the implementation could be simplified greatly.

This commit also renames std.socket.timeval to TimeVal and marks the old
name as scheduled for deprecation.
2011-09-07 23:56:50 +03:00
Vladimir Panteleev
a65072d15e std.socket: DDoc grammar 2011-09-07 23:56:48 +03:00
Vladimir Panteleev
a36ba862f6 std.socket: Exception class documentation 2011-09-07 23:56:46 +03:00
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