Index: sdk/lib/isolate/isolate.dart |
diff --git a/sdk/lib/isolate/isolate.dart b/sdk/lib/isolate/isolate.dart |
index 65f0bcee02574313998ee011a885107e84cb47c7..ea6a4df773dc71e06d22adc455815be32ae805c3 100644 |
--- a/sdk/lib/isolate/isolate.dart |
+++ b/sdk/lib/isolate/isolate.dart |
@@ -29,12 +29,12 @@ class IsolateSpawnException implements Exception { |
} |
class Isolate { |
- /** Argument to `ping` and `kill`: Ask for immediate action. */ |
- static const int IMMEDIATE = 0; |
- /** Argument to `ping` and `kill`: Ask for action before the next event. */ |
- static const int BEFORE_NEXT_EVENT = 1; |
- /** Argument to `ping` and `kill`: Ask for action after normal events. */ |
- static const int AS_EVENT = 2; |
+ /** Argument to `ping`: Ask for immediate response. */ |
+ static const int PING_ALIVE = 0; |
+ /** Argument to `ping`: Ask for response after control events. */ |
+ static const int PING_CONTROL = 1; |
+ /** Argument to `ping`: Ask for response after normal events. */ |
+ static const int PING_EVENT = 2; |
/** |
* Control port used to send control messages to the isolate. |
@@ -115,6 +115,7 @@ class Isolate { |
external static Future<Isolate> spawnUri( |
Uri uri, List<String> args, var message, { bool paused: false }); |
+ |
/** |
* Requests the isolate to pause. |
* |
@@ -231,41 +232,6 @@ class Isolate { |
} |
/** |
- * Requests the isolate to shut down. |
- * |
- * WARNING: This method is experimental and not handled on every platform yet. |
- * |
- * The isolate is requested to terminate itself. |
- * The [priority] argument specifies when this must happen. |
- * |
- * The [priority] must be one of [IMMEDIATE], [BEFORE_NEXT_EVENT] or |
- * [AS_EVENT]. |
- * The shutdown is performed at different times depending on the priority: |
- * |
- * * `IMMEDIATE`: The the isolate shuts down as soon as possible. |
- * Control messages are handled in order, so all previously sent control |
- * events from this isolate will all have been processed. |
- * The shutdown should happen no later than if sent with |
- * `BEFORE_NEXT_EVENT`. |
- * It may happen earlier if the system has a way to shut down cleanly |
- * at an earlier time, even during the execution of another event. |
- * * `BEFORE_NEXT_EVENT`: The shutdown is scheduled for the next time |
- * control returns to the event loop of the receiving isolate. |
- * If more than one such event are scheduled, they are executed in |
- * the order their control messages were received. |
- * * `AS_EVENT`: The shutdown does not happen until all prevously sent |
- * non-control messages from the current isolate to the receiving isolate |
- * have been processed. |
- * The kill operation effectively puts the shutdown into the normal event |
- * queue after previously sent messages, and it is affected by any control |
- * messages that affect normal events, including `pause`. |
- * This can be used to wait for a another event to be processed. |
- */ |
- void kill([int priority = BEFORE_NEXT_EVENT]) { |
- controlPort.send(["kill", terminateCapability, priority]); |
- } |
- |
- /** |
* Request that the isolate send a response on the [responsePort]. |
* |
* WARNING: This method is experimental and not handled on every platform yet. |
@@ -273,25 +239,24 @@ class Isolate { |
* If the isolate is alive, it will eventually send a `null` response on |
* the response port. |
* |
- * The [pingType] must be one of [IMMEDIATE], [BEFORE_NEXT_EVENT] or |
- * [AS_EVENT]. |
+ * The [pingType] must be one of [PING_ALIVE], [PING_CONTROL] or [PING_EVENT]. |
* The response is sent at different times depending on the ping type: |
* |
- * * `IMMEDIATE`: The the isolate responds as soon as it receives the |
- * control message. |
- * * `BEFORE_NEXT_EVENT`: The response is scheduled for the next time |
- * control returns to the event loop of the receiving isolate. |
- * If more than one such event are scheduled, they are executed in |
- * the order their control messages were received. |
- * * `AS_EVENT`: The response is not sent until all prevously sent |
+ * * `PING_ALIVE`: The the isolate responds as soon as possible. |
+ * The response should happen no later than if sent with `PING_CONTROL`. |
+ * It may be sent earlier if the system has a way to do so. |
+ * * `PING_CONTROL`: The response it not sent until all previously sent |
+ * control messages from the current isolate to the receiving isolate |
+ * have been processed. This can be used to wait for |
+ * previously sent control messages. |
+ * * `PING_EVENT`: The response is not sent until all prevously sent |
* non-control messages from the current isolate to the receiving isolate |
* have been processed. |
- * The ping effectively puts the response into the normal event queue |
- * after previously sent messages, and it is affected by any control |
- * messages that affect normal events, including `pause`. |
+ * The ping effectively puts the resonse into the normal event queue after |
+ * previously sent messages. |
* This can be used to wait for a another event to be processed. |
*/ |
- void ping(SendPort responsePort, [int pingType = IMMEDIATE]) { |
+ void ping(SendPort responsePort, [int pingType = PING_ALIVE]) { |
var message = new List(3) |
..[0] = "ping" |
..[1] = responsePort |