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

Unified Diff: sdk/lib/_internal/lib/isolate_helper.dart

Issue 27215002: Very simple version of Isolates. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rebase Created 7 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: sdk/lib/_internal/lib/isolate_helper.dart
diff --git a/sdk/lib/_internal/lib/isolate_helper.dart b/sdk/lib/_internal/lib/isolate_helper.dart
index 8b0ad62a9b2a8a245f6367322bb0991617b03f41..0df7db54d0d25ea54660d79319534f0ffb41e9e2 100644
--- a/sdk/lib/_internal/lib/isolate_helper.dart
+++ b/sdk/lib/_internal/lib/isolate_helper.dart
@@ -22,38 +22,6 @@ import 'dart:_interceptors' show JSExtendableArray;
ReceivePort lazyPort;
-class CloseToken {
- /// This token is sent from [IsolateSink]s to [IsolateStream]s to ask them to
- /// close themselves.
- const CloseToken();
-}
-
-class JsIsolateSink extends EventSink<dynamic> implements IsolateSink {
- bool _isClosed = false;
- final SendPort _port;
- JsIsolateSink.fromPort(this._port);
-
- void add(dynamic message) {
- _port.send(message);
- }
-
- void addError(errorEvent) {
- throw new UnimplementedError("addError on isolate streams");
- }
-
- void close() {
- if (_isClosed) return;
- add(const CloseToken());
- _isClosed = true;
- }
-
- bool operator==(var other) {
- return other is IsolateSink && _port == other._port;
- }
-
- int get hashCode => _port.hashCode + 499;
-}
-
/**
* Called by the compiler to support switching
* between isolates when we get a callback from the DOM.
@@ -928,14 +896,6 @@ class _PendingSendPortFinder extends _MessageTraverser {
ports.add(port._futurePort);
}
}
-
- visitIsolateSink(JsIsolateSink sink) {
- visitSendPort(sink._port);
- }
-
- visitCloseToken(CloseToken token) {
- // Do nothing.
- }
}
/********************************************************
@@ -993,16 +953,6 @@ class _JsSerializer extends _Serializer {
" ports are resolved at this point.";
}
}
-
- visitIsolateSink(JsIsolateSink sink) {
- SendPort port = sink._port;
- bool isClosed = sink._isClosed;
- return ['isolateSink', visitSendPort(port), isClosed];
- }
-
- visitCloseToken(CloseToken token) {
- return ['closeToken'];
- }
}
@@ -1036,18 +986,6 @@ class _JsCopier extends _Copier {
" ports are resolved at this point.";
}
}
-
- IsolateSink visitIsolateSink(JsIsolateSink sink) {
- SendPort port = sink._port;
- bool isClosed = sink._isClosed;
- JsIsolateSink result = new JsIsolateSink.fromPort(visitSendPort(port));
- result._isClosed = isClosed;
- return result;
- }
-
- CloseToken visitCloseToken(CloseToken token) {
- return token; // Can be shared.
- }
}
class _JsDeserializer extends _Deserializer {
@@ -1068,18 +1006,6 @@ class _JsDeserializer extends _Deserializer {
return new _WorkerSendPort(managerId, isolateId, receivePortId);
}
}
-
- IsolateSink deserializeIsolateSink(List list) {
- SendPort port = deserializeSendPort(list[1]);
- bool isClosed = list[2];
- JsIsolateSink result = new JsIsolateSink.fromPort(port);
- result._isClosed = isClosed;
- return result;
- }
-
- CloseToken deserializeCloseToken(List list) {
- return const CloseToken();
- }
}
class _JsVisitedMap implements _MessageTraverserVisitedMap {
@@ -1176,9 +1102,6 @@ class _MessageTraverser {
if (x is List) return visitList(x);
if (x is Map) return visitMap(x);
if (x is SendPort) return visitSendPort(x);
- if (x is SendPortSync) return visitSendPortSync(x);
- if (x is JsIsolateSink) return visitIsolateSink(x);
- if (x is CloseToken) return visitCloseToken(x);
// Overridable fallback.
return visitObject(x);
@@ -1188,9 +1111,6 @@ class _MessageTraverser {
visitList(List x);
visitMap(Map x);
visitSendPort(SendPort x);
- visitSendPortSync(SendPortSync x);
- visitIsolateSink(IsolateSink x);
- visitCloseToken(CloseToken x);
visitObject(Object x) {
// TODO(floitsch): make this a real exception. (which one)?
@@ -1302,8 +1222,6 @@ class _Deserializer {
case 'list': return _deserializeList(x);
case 'map': return _deserializeMap(x);
case 'sendport': return deserializeSendPort(x);
- case 'isolateSink': return deserializeIsolateSink(x);
- case 'closeToken': return deserializeCloseToken(x);
default: return deserializeObject(x);
}
}
@@ -1345,10 +1263,6 @@ class _Deserializer {
deserializeSendPort(List x);
- deserializeIsolateSink(List x);
-
- deserializeCloseToken(List x);
-
deserializeObject(List x) {
// TODO(floitsch): Use real exception (which one?).
throw "Unexpected serialized object";

Powered by Google App Engine
This is Rietveld 408576698