Commit Graph

16 Commits

Author SHA1 Message Date
Dan Field dd04c374b8 [vm,dart:io] On Linux, Android, and Fuchsia the getsockopt parameter
is incorrect.

Fixes breakage caused by https://dart-review.googlesource.com/c/sdk/+/89164

Change-Id: I2c6842a20930cc43247dacd4d62b0cd53d58ac95
Reviewed-on: https://dart-review.googlesource.com/c/90142
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2019-01-18 03:43:50 +00:00
Dan Field 5b1daaac6c Exposes a thin layer over getsockopt/setsockopt for supported platforms.
This allows developers to have more fine grained control over socket
options supported by their platforms, particularly when there is not a
nice way to encapsulate differences between IPv4 and IPv6 options (as
with IP_MULTICAST_IF and IPV6_MULTICAST_IF).  It also begins the work
of exposing socket level and option values, although keeping it for now
only to a minimum necessary to assist with setting the multicast
interface for datagram sockets.

This CL also marks `multicastInterface` as deprecated.

Bug: https://github.com/dart-lang/sdk/issues/17057
Change-Id: I39b3bf3d32d39de1c777acea4425d6eb2226355d
Reviewed-on: https://dart-review.googlesource.com/c/89164
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2019-01-17 23:05:21 +00:00
Zach Anderson 3ad0571cf9 [fuchsia] Fixes for the Fuchsia build
Makes public some include paths needed for the dart_runner to depend on
dart_io.

Also updates some dart:io implementations to give and OSError
instead of crashing when something is unimplemented.

Change-Id: I862fc7cc43f56e74de791ecc021b88238b54a8e5
Reviewed-on: https://dart-review.googlesource.com/c/84920
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-11-26 16:30:33 +00:00
Zach Anderson 6d705d5d4a [dart:io,fuchsia] Fix edge-triggering emulation for read events
Read events should only be re-enabled when all available bytes have
been read, or there is an error.

related: FL-109
Change-Id: Iefd4ff3d7f4b79c08ee3d2bca7cdfef70de66ce9
Reviewed-on: https://dart-review.googlesource.com/75200
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2018-09-17 20:44:52 +00:00
Matt Perry 04e91a3ef5 [fuchsia] Use newer ioctl_netc_get_if_info_at.
This replaces the now-deprecated ioctl_netc_get_if_info.

Bug: 31970
Change-Id: If343eed52c7a53e3b85185108582a6abbd9136ed
Reviewed-on: https://dart-review.googlesource.com/36540
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-01-24 23:22:34 +00:00
James Robinson d7874036a9 [fuchsia] Update path to netconfig header, add explicit build dep
This updates the include path by which the runtime include fuchsia's
netconfig header to its current location and adds an explicit GN build
dependency on the target defining the interface so we can configure
include paths in a nicer way.

Change-Id: I2bddc452e5ded5de44c7a7087ac5457f0f07609b
Reviewed-on: https://dart-review.googlesource.com/11761
Reviewed-by: Zach Anderson <zra@google.com>
2017-10-06 16:32:22 +00:00
Zachary Anderson 15ba173993 [Fuchsia] Rename MG-nnn -> ZX-nnn
Change-Id: Ia84cd53ef3dcfd13a7feb22178583e00705a4e4b
Reviewed-on: https://dart-review.googlesource.com/5290
Reviewed-by: Zach Anderson <zra@google.com>
2017-09-12 20:28:12 +00:00
Zachary Anderson 05dc2936bb [Fuchsia] Update include path for netconfig.h
Change-Id: I0853256e0684d2c312d8d8747c203ba9adb36e72
Reviewed-on: https://dart-review.googlesource.com/3308
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2017-09-05 19:23:09 +00:00
Zachary Anderson 747868f2b1 [dart:io] Remove DART_IO_DISABLED
This was only used by Dartium.

Review-Url: https://codereview.chromium.org/3009523002 .
2017-08-24 11:17:52 -07:00
Zachary Anderson 6cd8a79078 VM: Re-format to use at most one newline between functions
R=asiva@google.com

Review-Url: https://codereview.chromium.org/2974233002 .
2017-07-13 08:08:37 -07:00
Zachary Anderson e7c96cae8c [Fuchsia] Implements NetworkInterface.list()
US-241

R=rmacnak@google.com, tkilbourn@google.com

Review-Url: https://codereview.chromium.org/2962383002 .
2017-06-30 10:54:08 -07:00
Zachary Anderson bad6b64062 [Fuchsia] EventHandler: epoll -> ports v2
This CL rewrites the EventHandler on Fuchsia to use
the low-level ports system call API instead of the
epoll() emulation in musl. This will allow the
Magenta team to remove the epoll() emulation and
the deprecated system call API it is based on.

The new ports API doesn't provide epoll()-like
edge-triggering that clients of the EventHandler
expect. Therefore, this CL emulates it by adding
a level of indirection through a new "IOHandle"
object, which the socket code now uses instead
of file descriptors. This is similar to what we do
on Windows. See the comment at the top of
eventhandler_fuchsia.cc for more details.

Fuchsia issue US-251

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2910853002 .
2017-06-23 10:41:21 -07:00
Zachary Anderson bdb4eb6338 [dart:io][windows] Implements RawSynchronousSocket
related #29343
fixes #29333

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2830273002 .
2017-04-21 23:29:52 -07:00
Ben Konyi ddc4f30d75 Re-land socket refactor with fixes for Windows.
BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2797993005 .
2017-04-05 12:45:31 -07:00
Ben Konyi 0386f7ab6f Reverting until bots clear up.
Revert "Pulled a significant portion of Socket implementation into BaseSocket in order to prepare for the synchronous socket impementations which will also use these common methods."

This reverts commit 0422920142.

Revert "Updated incorrect call to Write in process_win.cc"

This reverts commit 9e1435148b.

Revert "Fixed incorrect call to Write from process_win.cc"

This reverts commit 11dcab2bed3c9ec8ec76bc200206ac202a4a5681.

Fixed incorrect call to Write from process_win.cc

BUG=

Review-Url: https://codereview.chromium.org/2791163004 .
2017-04-03 17:25:47 -07:00
Ben Konyi 0422920142 Pulled a significant portion of Socket implementation into BaseSocket in order to prepare for the synchronous socket impementations which will also use these common methods.
BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2780063002 .
2017-04-03 17:05:11 -07:00