OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 /** | 5 /** |
6 * Concurrent programming using _isolates_: | 6 * Concurrent programming using _isolates_: |
7 * independent workers that are similar to threads | 7 * independent workers that are similar to threads |
8 * but don't share memory, | 8 * but don't share memory, |
9 * communicating only via messages. | 9 * communicating only via messages. |
10 * | 10 * |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 * | 91 * |
92 * The content of [message] can be: primitive values (null, num, bool, double, | 92 * The content of [message] can be: primitive values (null, num, bool, double, |
93 * String), instances of [SendPort], and lists and maps whose elements are any | 93 * String), instances of [SendPort], and lists and maps whose elements are any |
94 * of these. List and maps are also allowed to be cyclic. | 94 * of these. List and maps are also allowed to be cyclic. |
95 * | 95 * |
96 * In the special circumstances when two isolates share the same code and are | 96 * In the special circumstances when two isolates share the same code and are |
97 * running in the same process (e.g. isolates created via [spawnFunction]), it | 97 * running in the same process (e.g. isolates created via [spawnFunction]), it |
98 * is also possible to send object instances (which would be copied in the | 98 * is also possible to send object instances (which would be copied in the |
99 * process). This is currently only supported by the dartvm. For now, the | 99 * process). This is currently only supported by the dartvm. For now, the |
100 * dart2js compiler only supports the restricted messages described above. | 100 * dart2js compiler only supports the restricted messages described above. |
101 * | |
102 * The second argument [replyTo] is deprecated and its value is ignored. | |
103 */ | 101 */ |
104 void send(var message, [SendPort replyTo]); | 102 void send(var message); |
105 | 103 |
106 /** | 104 /** |
107 * Tests whether [other] is a [SendPort] pointing to the same | 105 * Tests whether [other] is a [SendPort] pointing to the same |
108 * [ReceivePort] as this one. | 106 * [ReceivePort] as this one. |
109 */ | 107 */ |
110 bool operator==(var other); | 108 bool operator==(var other); |
111 | 109 |
112 /** | 110 /** |
113 * Returns an immutable hash code for this send port that is | 111 * Returns an immutable hash code for this send port that is |
114 * consistent with the == operator. | 112 * consistent with the == operator. |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 const _IsolateUnhandledException(this.message, this.source, this.stackTrace); | 222 const _IsolateUnhandledException(this.message, this.source, this.stackTrace); |
225 | 223 |
226 String toString() { | 224 String toString() { |
227 return 'IsolateUnhandledException: exception while handling message: ' | 225 return 'IsolateUnhandledException: exception while handling message: ' |
228 '${message} \n ' | 226 '${message} \n ' |
229 '${source.toString().replaceAll("\n", "\n ")}\n' | 227 '${source.toString().replaceAll("\n", "\n ")}\n' |
230 'original stack trace:\n ' | 228 'original stack trace:\n ' |
231 '${stackTrace.toString().replaceAll("\n","\n ")}'; | 229 '${stackTrace.toString().replaceAll("\n","\n ")}'; |
232 } | 230 } |
233 } | 231 } |
OLD | NEW |