Index: runtime/bin/socket_patch.dart |
diff --git a/runtime/bin/socket_patch.dart b/runtime/bin/socket_patch.dart |
index 4fffbf7681da5b896221836d310aa03aa98cb514..5083e280e701209375fbd24df09ea9a37784cec7 100644 |
--- a/runtime/bin/socket_patch.dart |
+++ b/runtime/bin/socket_patch.dart |
@@ -6,8 +6,9 @@ patch class RawServerSocket { |
/* patch */ static Future<RawServerSocket> bind(address, |
int port, |
{int backlog: 0, |
- bool v6Only: false}) { |
- return _RawServerSocket.bind(address, port, backlog, v6Only); |
+ bool v6Only: false, |
+ bool reusePort: false}) { |
+ return _RawServerSocket.bind(address, port, backlog, v6Only, reusePort); |
} |
} |
@@ -319,7 +320,8 @@ class _NativeSocket extends NativeFieldWrapperClass1 { |
static Future<_NativeSocket> bind(host, |
int port, |
int backlog, |
- bool v6Only) { |
+ bool v6Only, |
+ bool reusePort) { |
return new Future.value(host) |
.then((host) { |
if (host is _InternetAddress) return host; |
@@ -337,7 +339,8 @@ class _NativeSocket extends NativeFieldWrapperClass1 { |
var result = socket.nativeCreateBindListen(address._sockaddr_storage, |
port, |
backlog, |
- v6Only); |
+ v6Only, |
+ reusePort); |
if (result is OSError) { |
throw new SocketException("Failed to create server socket", |
osError: result, |
@@ -655,7 +658,8 @@ class _NativeSocket extends NativeFieldWrapperClass1 { |
native "Socket_WriteList"; |
nativeCreateConnect(List<int> addr, |
int port) native "Socket_CreateConnect"; |
- nativeCreateBindListen(List<int> addr, int port, int backlog, bool v6Only) |
+ nativeCreateBindListen( |
+ List<int> addr, int port, int backlog, bool v6Only, bool reusePort) |
native "ServerSocket_CreateBindListen"; |
nativeAccept(_NativeSocket socket) native "ServerSocket_Accept"; |
int nativeGetPort() native "Socket_GetPort"; |
@@ -673,11 +677,12 @@ class _RawServerSocket extends Stream<RawSocket> |
static Future<_RawServerSocket> bind(address, |
int port, |
int backlog, |
- bool v6Only) { |
+ bool v6Only, |
+ bool reusePort) { |
if (port < 0 || port > 0xFFFF) |
throw new ArgumentError("Invalid port $port"); |
if (backlog < 0) throw new ArgumentError("Invalid backlog $backlog"); |
- return _NativeSocket.bind(address, port, backlog, v6Only) |
+ return _NativeSocket.bind(address, port, backlog, v6Only, reusePort) |
.then((socket) => new _RawServerSocket(socket)); |
} |
@@ -893,8 +898,9 @@ patch class ServerSocket { |
/* patch */ static Future<ServerSocket> bind(address, |
int port, |
{int backlog: 0, |
- bool v6Only: false}) { |
- return _ServerSocket.bind(address, port, backlog, v6Only); |
+ bool v6Only: false, |
+ bool reusePort: false}) { |
+ return _ServerSocket.bind(address, port, backlog, v6Only, reusePort); |
} |
} |
@@ -905,8 +911,9 @@ class _ServerSocket extends Stream<Socket> |
static Future<_ServerSocket> bind(address, |
int port, |
int backlog, |
- bool v6Only) { |
- return _RawServerSocket.bind(address, port, backlog, v6Only) |
+ bool v6Only, |
+ bool reusePort) { |
+ return _RawServerSocket.bind(address, port, backlog, v6Only, reusePort) |
.then((socket) => new _ServerSocket(socket)); |
} |