Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(62)

Side by Side Diff: sdk/lib/io/socket.dart

Issue 1293533002: DO NOT SUBMIT: Unix domain sockets. From CL 1061283003. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Added Mac OS fix Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/bin/socket_patch.dart ('k') | tests/standalone/io/socket_bind_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of dart.io; 5 part of dart.io;
6 6
7 7
8 /** 8 /**
9 * [InternetAddressType] is the type an [InternetAddress]. Currently, 9 * [InternetAddressType] is the type an [InternetAddress]. Currently,
10 * IP version 4 (IPv4) and IP version 6 (IPv6) are supported. 10 * IP version 4 (IPv4) and IP version 6 (IPv6) are supported.
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 * addresses. If [type] is either [InternetAddressType.IP_V4] or 137 * addresses. If [type] is either [InternetAddressType.IP_V4] or
138 * [InternetAddressType.IP_V6] it will only lookup addresses of the 138 * [InternetAddressType.IP_V6] it will only lookup addresses of the
139 * specified type. The order of the list can, and most likely will, 139 * specified type. The order of the list can, and most likely will,
140 * change over time. 140 * change over time.
141 */ 141 */
142 external static Future<List<InternetAddress>> lookup( 142 external static Future<List<InternetAddress>> lookup(
143 String host, {InternetAddressType type: InternetAddressType.ANY}); 143 String host, {InternetAddressType type: InternetAddressType.ANY});
144 } 144 }
145 145
146 146
147 class UnixDomainAddress {
148 final String path;
149 bool get isLoopback => false; // HACK.
150 UnixDomainAddress(this.path);
151 }
152
153
147 /** 154 /**
148 * A [NetworkInterface] represent an active network interface on the current 155 * A [NetworkInterface] represent an active network interface on the current
149 * system. It contains a list of [InternetAddress]s, that's bound to the 156 * system. It contains a list of [InternetAddress]s, that's bound to the
150 * interface. 157 * interface.
151 */ 158 */
152 abstract class NetworkInterface { 159 abstract class NetworkInterface {
153 /** 160 /**
154 * Get the name of the [NetworkInterface]. 161 * Get the name of the [NetworkInterface].
155 */ 162 */
156 String get name; 163 String get name;
(...skipping 595 matching lines...) Expand 10 before | Expand all | Expand 10 after
752 * If an error occur when trying to join the multicase group an 759 * If an error occur when trying to join the multicase group an
753 * exception is thrown. 760 * exception is thrown.
754 */ 761 */
755 void leaveMulticast(InternetAddress group, {NetworkInterface interface}); 762 void leaveMulticast(InternetAddress group, {NetworkInterface interface});
756 } 763 }
757 764
758 765
759 class SocketException implements IOException { 766 class SocketException implements IOException {
760 final String message; 767 final String message;
761 final OSError osError; 768 final OSError osError;
762 final InternetAddress address; 769 final /* InternetAddress or UnixDomainAddress */ address;
763 final int port; 770 final int port;
764 771
765 const SocketException(this.message, {this.osError, this.address, this.port}); 772 const SocketException(this.message, {this.osError, this.address, this.port});
766 const SocketException.closed() 773 const SocketException.closed()
767 : message = 'Socket has been closed', 774 : message = 'Socket has been closed',
768 osError = null, 775 osError = null,
769 address = null, 776 address = null,
770 port = null; 777 port = null;
771 778
772 String toString() { 779 String toString() {
773 StringBuffer sb = new StringBuffer(); 780 StringBuffer sb = new StringBuffer();
774 sb.write("SocketException"); 781 sb.write("SocketException");
775 if (!message.isEmpty) { 782 if (!message.isEmpty) {
776 sb.write(": $message"); 783 sb.write(": $message");
777 if (osError != null) { 784 if (osError != null) {
778 sb.write(" ($osError)"); 785 sb.write(" ($osError)");
779 } 786 }
780 } else if (osError != null) { 787 } else if (osError != null) {
781 sb.write(": $osError"); 788 sb.write(": $osError");
782 } 789 }
783 if (address != null) { 790 if (address != null) {
784 sb.write(", address = ${address.host}"); 791 sb.write(", address = ${address.host}");
785 } 792 }
786 if (port != null) { 793 if (port != null) {
787 sb.write(", port = $port"); 794 sb.write(", port = $port");
788 } 795 }
789 return sb.toString(); 796 return sb.toString();
790 } 797 }
791 } 798 }
OLDNEW
« no previous file with comments | « runtime/bin/socket_patch.dart ('k') | tests/standalone/io/socket_bind_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698