sgjesse@google.com
7b70c2c267
Add UDP support to dart:io
...
Initial implementation of UDP support in dart:io
Added a RawDatagramSocket which gets the same events as a RawSocket
except that READ_CLOSED is never received.
The receive from a RawDatagramSocket returns a Datagram object where
the senders address and port is presten together with the data.
The send on a RawDatagramSocket takes data and the address and port of
the destination.
Extended the number of socket options to support UDP.
Added getting the socket options.
R=ajohnsen@google.com
BUG=http://dartbug.com/1975
Review URL: https://codereview.chromium.org//85993002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31098 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-12 15:45:25 +00:00
sgjesse@google.com
5ec3f666c0
Add the index information to network interface
...
R=ajohnsen@google.com
BUG=
Review URL: https://codereview.chromium.org//95183002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30776 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-29 11:18:30 +00:00
sgjesse@google.com
32e6279482
Update InternetAddress
...
Add InternetAddress constructor for numeric addresses. An
InternetAddress can now be constructed without using DNS resolving.
Add hash code calculated from the bytes of the address.
Add equality operator comparing the bytes of the address.
Added check for multicast addresses.
R=ajohnsen@google.com
Review URL: https://codereview.chromium.org//76383002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30449 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-20 10:01:22 +00:00
ajohnsen@google.com
e25f1d2c33
Fix Socket::remoteAddress on Windows to not include port number.
...
BUG=
Review URL: https://codereview.chromium.org//59073004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29907 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-05 13:56:18 +00:00
ajohnsen@google.com
57d8b90fe1
Rename remoteHost to remoteAddress on *Socket.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//59213003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29904 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-05 13:24:49 +00:00
ajohnsen@google.com
0420c6b8b7
Reuse thread when writing stdout/stderr on Windows.
...
BUG=https://code.google.com/p/dart/issues/detail?id=13541
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//25631005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28146 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-02 11:03:34 +00:00
ajohnsen@google.com
d11df78618
Make stdout and stderr async.
...
This required some minor changes to the Windows eventhandler, as we now spawn a new thread for writes (just like we do for reads).
BUG=https://code.google.com/p/dart/issues/detail?id=7218
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//23609060
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27811 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-24 11:47:53 +00:00
ajohnsen@google.com
38bae0af02
Add FileSystemWatcher class to dart:io.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//19263003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27048 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-03 12:43:08 +00:00
ajohnsen@google.com
7aa0222b5b
Avoid picking port 65535 for ServerSockets, when any is requested.
...
Some browsers block requests to 65535.
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//17842003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24471 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 15:12:56 +00:00
ajohnsen@google.com
015f2ee53c
Fix InternetAddress.resolve impl and test for Windows.
...
BUG=
Review URL: https://codereview.chromium.org//17601011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24396 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 11:40:10 +00:00
ajohnsen@google.com
3ad9779be6
Add reverse dns lookup as a method on InternetAddress.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//17640008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24393 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 11:27:48 +00:00
ajohnsen@google.com
4624420914
Add NetworkAdaptor to dart:io.
...
NetworkAdaptor contains a static method, list, that will query the
underlaying system for active network adaptors.
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//16514010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24267 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-21 07:58:48 +00:00
sgjesse@google.com
000875ca45
dart:io | Add File.rename
...
R=ajohnsen@google.com
BUG=
Review URL: https://codereview.chromium.org//17033003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24029 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-14 12:58:21 +00:00
johnmccutchan@google.com
07ff86eb19
Fix windows build
...
Review URL: https://codereview.chromium.org//15904013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23352 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-29 14:45:27 +00:00
johnmccutchan@google.com
9d264aaee5
Add support for loading scripts from http
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//15966002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23351 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-29 14:34:15 +00:00
asiva@google.com
5cecc4b95c
Fix windows build break.
...
Review URL: https://codereview.chromium.org//15010004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22516 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-08 17:06:09 +00:00
ajohnsen@google.com
6a78c0c0b8
Add v6Only named argument to ServerSocket and etc.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//14766003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22309 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-02 11:23:40 +00:00
smok@google.com
ebbc2020a2
Put everything in runtime/bin into '::dart::bin' namespace.
...
Review URL: https://codereview.chromium.org//14341015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22032 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-25 14:22:30 +00:00
sgjesse@google.com
d27309942c
Fix broken Mac OS socket code
...
The order of the fields in the sockaddr structures on Mac OS was different and we where relying on the Linux/Windows order of fields. This should now be platform independent.
TBR=ajohnsen@google.com
BUG=
Review URL: https://codereview.chromium.org//14139032
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21940 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-24 11:51:56 +00:00
ajohnsen@google.com
55963a1a6d
Add new InternetAddress class with a static lookup function (including IPv6
...
results).
Reapply of https://codereview.chromium.org/13880029/ with fixes.
BUG=
Review URL: https://codereview.chromium.org//14469002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21934 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-24 09:26:58 +00:00
ajohnsen@google.com
60946b53fc
Revert "Add new InternetAddress class with a static lookup function (including IPv6 results)."
...
Revert "Attempt to fix strict align issue."
Revert "Trying another fix."
BUG=
Review URL: https://codereview.chromium.org//14036017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21928 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-24 08:10:00 +00:00
ajohnsen@google.com
20d1f5ddda
Add new InternetAddress class with a static lookup function (including IPv6 results).
...
Reapply of https://codereview.chromium.org/14083007/ with fixes.
BUG=
Review URL: https://codereview.chromium.org//13880029
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21923 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-24 07:12:05 +00:00
sgjesse@google.com
afcb3ce69e
Revert "Add new InternetAddress class with a static lookup function (including IPv6 results)"
...
TBR=ajohnsen@google.com
Review URL: https://codereview.chromium.org//14081024
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21865 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-23 10:07:03 +00:00
ajohnsen@google.com
b33d142414
Add new InternetAddress class with a static lookup function (including IPv6 results).
...
Socket.connect/ServerSocket.bind now accepts IPv6 host names. If a new ServerSocket is connected to an IPv6 interface, it will (if possible) support incoming IPv4 connections as well.
BUG=
Review URL: https://codereview.chromium.org//14083007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21862 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-23 09:36:18 +00:00
ajohnsen@google.com
fb53f40e65
Add setOption method on Socket/RawSocket.
...
This will allow the user to enable TCP_NODELAY on the native sockets.
BUG=
Review URL: https://codereview.chromium.org//12614014
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20014 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-14 12:46:54 +00:00
tball@google.com
ca8b23183b
Added Socket::SetBlocking() and Socket::SetNonBlocking().
...
Review URL: https://codereview.chromium.org//12380032
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19334 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-01 18:33:17 +00:00
sgjesse@google.com
488b016a2f
Merge IO v2 branch to bleeding edge
...
R=ager@google.com , ajohnsen@google.com , whesse@google.com
BUG=
Review URL: https://codereview.chromium.org//12316036
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18820 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-21 11:58:11 +00:00
iposva@google.com
9046a44a37
Prepare for removal of source_filter.gypi:
...
- Guard OS-dependent source files with #if TARGET_OS_* in a similar
fashion to the architecture dependent sources.
Review URL: https://codereview.chromium.org//12282051
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18786 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-20 21:17:38 +00:00
tball@google.com
898ec7731f
Added Socket::Close() function.
...
Review URL: https://codereview.chromium.org//12209047
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18199 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-07 00:44:55 +00:00
sgjesse@google.com
800b4b6c37
Add function for finding what a InputStream or OutputStream is attached to
...
For the dart:io types InputStream and OutputStream the top level
function stdioType will return whether the stream is attached to a
terminal, pipe, file or something else.
BUG=dart:2789
R=ager@google.com
Review URL: https://codereview.chromium.org//11773041
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16839 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-09 09:17:07 +00:00
ager@google.com
1fe5a6d631
Complete the transition to unicode APIs on Windows.
...
Define _UNICODE and UNICODE so that we do not add accidental
dependencies on non-unicode APIs.
Reapply the change without the completely broken code in
socket_win.cc. Instead use 'A' versions explicitly.
R=sgjesse@google.com ,antonm@google.com
Review URL: https://codereview.chromium.org//11564017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16122 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-13 15:51:48 +00:00
ager@google.com
0952f0a37f
Revert last unicode change. Causes Pub issues.
...
R=sgjesse@google.com
BUG=
Review URL: https://codereview.chromium.org//11570006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16105 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-13 12:56:02 +00:00
ager@google.com
2a3c575b79
Complete the transition to unicode APIs on Windows.
...
Define _UNICODE and UNICODE so that we do not add accidental
dependencies on non-unicode APIs.
Anton, this could have an influence on Dartium builds as well?
R=sgjesse@google.com ,antonm@google.com
BUG=
Review URL: https://codereview.chromium.org//11567010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16104 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-13 12:43:01 +00:00
ager@google.com
2a1c56378d
Fix extraction of error messages on Windows from getaddrinfo.
...
Use WSAGetLastError which is thread safe. This also means
lets us use the unicode support for normal error messages.
R=sgjesse@google.com
BUG=
Review URL: https://codereview.chromium.org//11566007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16096 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-13 10:09:52 +00:00
gram@google.com
3601944836
Revised CL for customisable logging (replacing printfs).
...
Review URL: https://codereview.chromium.org//11312242
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15096 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-19 17:38:15 +00:00
ajohnsen@google.com
0223ae82c8
Don't use TEMP_FAILURE_RETRY on windows.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com//10905063
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11771 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-03 14:57:50 +00:00
ajohnsen@google.com
15e0e9e9ee
Fix type for container of inet_addr result on Win.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com//10919062
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11770 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-03 14:49:06 +00:00
ajohnsen@google.com
0c17bf126c
Throw an error if the ServerSocket host argument is invalid.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com//10917064
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11769 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-03 14:39:47 +00:00
sgjesse@google.com
4bb90d88d5
Make the Dart standalone VM run on Windows XP
...
Removed another use of inet_ntop.
R=ager@google.com
BUG=dart:3164
TEST=Most socket tests in tests/standalone/io
Review URL: https://chromiumcodereview.appspot.com//10411069
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7847 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-22 11:56:38 +00:00
sgjesse@google.com
2571ceeca8
Make standalone Dart VM run on Windows XP
...
Use the function WSAAddressToString for converting an IP address to a string
instead of inet_ntop. WSAAddressToString is available on Windows XP.
R=ager@google.com
BUG=dart:2559
TEST=tests\standalone\io\socket_info_test.dart
Review URL: https://chromiumcodereview.appspot.com//10409051
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7797 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-21 13:31:01 +00:00
asiva@google.com
2393f17f1a
Fix win32 Socket test errors
...
SocketInfoTest and SocketPortTest are failing on windows.
Review URL: https://chromiumcodereview.appspot.com//10014037
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6390 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-10 23:29:02 +00:00
ricow@google.com
4a4b4da476
Speculative fix for the windows compilation failure.
...
Review URL: https://chromiumcodereview.appspot.com//10032030
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6363 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-10 15:47:59 +00:00
ajohnsen@google.com
4ecf48b601
Add remoteHost to Socket.
...
This is merging the native calls into one, GetRemotePeer, thus
eliminating a potentiel extra call to getpeername.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10032027
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6353 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-10 12:18:12 +00:00
ajohnsen@google.com
1dd508bd44
Add remotePort getter to Socket.
...
Review URL: https://chromiumcodereview.appspot.com//9963053
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6090 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-02 13:54:03 +00:00
sgjesse@google.com
0b3f4a1190
Extend dart:io error handling to all socket functions
...
There are currently no tests of the error handling, as it is hard to
create consistent tests. I have done some manual tests locally:
* Lowering the number of file descriptors available (ulimit -n) and hitting that limit
* Running two dart programs communicating and terminating one (using Ctrl-C)
* Running two dart programs communicating on two machines and pulling out the network cable.
If there is an error we always call the onError callback and never the onClosed callback.
On Windows there is the issue that both closing the connection correctly and terminating one end gives the same error (ERROR_NETNAME_DELETED) so both are reported as connection close. Pulling out the network cable gives a different (real) error on Windows though.
On Mac OS it turned out the for kqueue EV_EOF is also used to indicate errors with the error code set in the fflags field. EV_ERROR is only reported if there is an internal error in kevent processing (see http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man2/kqueue.2.html ).
R=ager@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9720045
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5709 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-21 09:39:47 +00:00
sgjesse@google.com
168ae8c785
Start better error reporting for sockets
...
Changed the onError callback for sockets to take an exception argument.
First area to report errors for is name resolution.
Changed the IP address resolution from being synchronous with the
creation of the socket to being asynchronous thsough a lookup
service running on a native port. Currently this lookup service
is static on the socket class as we need to call it from a
factory method. We should probably add a separate name lookup
service at some point.
R=ager@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9699017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5640 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-19 11:26:41 +00:00
sgjesse@google.com
67d055d29c
Fix hostname lookup on Windows
...
The previous implementation was broken and did not use the result retreived from
gethostbyname. Changed the implementation to use getaddrinfo as gethostbyname has
been deprecated in the Winsock2 library.
Added a test to test that something can be read from www.google.com.
R=ager@google.com
BUG=none
TEST=tests/standalone/src/io/HttpClientTest.dart
Review URL: https://chromiumcodereview.appspot.com//9624005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5097 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-07 15:18:50 +00:00
ager@google.com
4b8a31e201
Set SO_LINGER on sockets on windows.
...
Uncovered by fixed Socket tests.
R=sgjesse@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//9381003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4132 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-10 12:41:13 +00:00
sgjesse@google.com
04bc611751
Handle stdin/stdout/stderr on Windows
...
Create handle objects for stdin/stdout/stderr. For Mac OS and
Linus the file descriptor numbers are used but on Windows the
handles are wrapped in an object.
The system handles for stdin/stdout/stderr on Windows does not
support overlapped IO. To mittigate this the write calls are
performed synchronously and the read calls are preformed in a
thread which posts the result through the completion potr where
it is handled as if it originated from overlapped IO through the
completion port. For now each call to read starts a new thread.
R=ager@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8574002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1533 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-15 13:19:07 +00:00
sgjesse@google.com
d0496ec807
Implement the full process interface for Windows
...
There are still a couple of TODOs in the code.
R=ager@google.com
Review URL: http://codereview.chromium.org//8249007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@389 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 10:38:37 +00:00