OLD | NEW |
1 dart_library.library('dart/_isolate_helper', null, /* Imports */[ | 1 dart_library.library('dart/_isolate_helper', null, /* Imports */[ |
2 "dart/_runtime", | 2 "dart/_runtime", |
3 'dart/core', | 3 'dart/core', |
4 'dart/_interceptors', | 4 'dart/_interceptors', |
5 'dart/_js_helper', | 5 'dart/_js_helper', |
6 'dart/isolate', | 6 'dart/isolate', |
7 'dart/_foreign_helper', | 7 'dart/_foreign_helper', |
8 'dart/collection', | 8 'dart/collection', |
9 'dart/async' | 9 'dart/async' |
10 ], /* Lazy imports */[ | 10 ], /* Lazy imports */[ |
(...skipping 16 matching lines...) Expand all Loading... |
27 return deserializer.deserialize(serializer.serialize(message)); | 27 return deserializer.deserialize(serializer.serialize(message)); |
28 } | 28 } |
29 dart.fn(_clone); | 29 dart.fn(_clone); |
30 let _serializeSendPorts = Symbol('_serializeSendPorts'); | 30 let _serializeSendPorts = Symbol('_serializeSendPorts'); |
31 let _workerId = Symbol('_workerId'); | 31 let _workerId = Symbol('_workerId'); |
32 let _isolateId = Symbol('_isolateId'); | 32 let _isolateId = Symbol('_isolateId'); |
33 let _receivePortId = Symbol('_receivePortId'); | 33 let _receivePortId = Symbol('_receivePortId'); |
34 let _id = Symbol('_id'); | 34 let _id = Symbol('_id'); |
35 let _receivePort = Symbol('_receivePort'); | 35 let _receivePort = Symbol('_receivePort'); |
36 class _Serializer extends core.Object { | 36 class _Serializer extends core.Object { |
37 _Serializer(opts) { | 37 _Serializer({serializeSendPorts = true} = {}) { |
38 let serializeSendPorts = opts && 'serializeSendPorts' in opts ? opts.seria
lizeSendPorts : true; | |
39 this.serializedObjectIds = core.Map$(dart.dynamic, core.int).identity(); | 38 this.serializedObjectIds = core.Map$(dart.dynamic, core.int).identity(); |
40 this[_serializeSendPorts] = dart.as(serializeSendPorts, core.bool); | 39 this[_serializeSendPorts] = dart.as(serializeSendPorts, core.bool); |
41 } | 40 } |
42 serialize(x) { | 41 serialize(x) { |
43 if (dart.notNull(this.isPrimitive(x))) | 42 if (dart.notNull(this.isPrimitive(x))) |
44 return this.serializePrimitive(x); | 43 return this.serializePrimitive(x); |
45 let serializationId = this.serializedObjectIds.get(x); | 44 let serializationId = this.serializedObjectIds.get(x); |
46 if (serializationId != null) | 45 if (serializationId != null) |
47 return this.makeRef(serializationId); | 46 return this.makeRef(serializationId); |
48 serializationId = this.serializedObjectIds.length; | 47 serializationId = this.serializedObjectIds.length; |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 serializeJSObject: [dart.dynamic, [_interceptors.JSObject]], | 183 serializeJSObject: [dart.dynamic, [_interceptors.JSObject]], |
185 serializeWorkerSendPort: [dart.dynamic, [_WorkerSendPort]], | 184 serializeWorkerSendPort: [dart.dynamic, [_WorkerSendPort]], |
186 serializeJsSendPort: [dart.dynamic, [_NativeJsSendPort]], | 185 serializeJsSendPort: [dart.dynamic, [_NativeJsSendPort]], |
187 serializeCapability: [dart.dynamic, [CapabilityImpl]], | 186 serializeCapability: [dart.dynamic, [CapabilityImpl]], |
188 serializeClosure: [dart.dynamic, [core.Function]], | 187 serializeClosure: [dart.dynamic, [core.Function]], |
189 serializeDartObject: [dart.dynamic, [dart.dynamic]] | 188 serializeDartObject: [dart.dynamic, [dart.dynamic]] |
190 }) | 189 }) |
191 }); | 190 }); |
192 let _adjustSendPorts = Symbol('_adjustSendPorts'); | 191 let _adjustSendPorts = Symbol('_adjustSendPorts'); |
193 class _Deserializer extends core.Object { | 192 class _Deserializer extends core.Object { |
194 _Deserializer(opts) { | 193 _Deserializer({adjustSendPorts = true} = {}) { |
195 let adjustSendPorts = opts && 'adjustSendPorts' in opts ? opts.adjustSendP
orts : true; | |
196 this.deserializedObjects = core.List.new(); | 194 this.deserializedObjects = core.List.new(); |
197 this[_adjustSendPorts] = dart.as(adjustSendPorts, core.bool); | 195 this[_adjustSendPorts] = dart.as(adjustSendPorts, core.bool); |
198 } | 196 } |
199 deserialize(x) { | 197 deserialize(x) { |
200 if (dart.notNull(this.isPrimitive(x))) | 198 if (dart.notNull(this.isPrimitive(x))) |
201 return this.deserializePrimitive(x); | 199 return this.deserializePrimitive(x); |
202 if (!dart.is(x, _interceptors.JSArray)) | 200 if (!dart.is(x, _interceptors.JSArray)) |
203 dart.throw(new core.ArgumentError(`Bad serialized message: ${x}`)); | 201 dart.throw(new core.ArgumentError(`Bad serialized message: ${x}`)); |
204 switch (dart.dload(x, 'first')) { | 202 switch (dart.dload(x, 'first')) { |
205 case "ref": | 203 case "ref": |
(...skipping 1199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1405 weak() { | 1403 weak() { |
1406 this.fromRawReceivePort(new RawReceivePortImpl.weak(null)); | 1404 this.fromRawReceivePort(new RawReceivePortImpl.weak(null)); |
1407 } | 1405 } |
1408 fromRawReceivePort(rawPort) { | 1406 fromRawReceivePort(rawPort) { |
1409 this[_rawPort] = rawPort; | 1407 this[_rawPort] = rawPort; |
1410 this[_controller] = null; | 1408 this[_controller] = null; |
1411 super.Stream(); | 1409 super.Stream(); |
1412 this[_controller] = async.StreamController.new({onCancel: dart.bind(this,
'close'), sync: true}); | 1410 this[_controller] = async.StreamController.new({onCancel: dart.bind(this,
'close'), sync: true}); |
1413 this[_rawPort].handler = dart.bind(this[_controller], 'add'); | 1411 this[_rawPort].handler = dart.bind(this[_controller], 'add'); |
1414 } | 1412 } |
1415 listen(onData, opts) { | 1413 listen(onData, {onError = null, onDone = null, cancelOnError = null} = {}) { |
1416 let onError = opts && 'onError' in opts ? opts.onError : null; | |
1417 let onDone = opts && 'onDone' in opts ? opts.onDone : null; | |
1418 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError :
null; | |
1419 return this[_controller].stream.listen(onData, {onError: onError, onDone:
onDone, cancelOnError: cancelOnError}); | 1414 return this[_controller].stream.listen(onData, {onError: onError, onDone:
onDone, cancelOnError: cancelOnError}); |
1420 } | 1415 } |
1421 close() { | 1416 close() { |
1422 this[_rawPort].close(); | 1417 this[_rawPort].close(); |
1423 this[_controller].close(); | 1418 this[_controller].close(); |
1424 } | 1419 } |
1425 get sendPort() { | 1420 get sendPort() { |
1426 return this[_rawPort].sendPort; | 1421 return this[_rawPort].sendPort; |
1427 } | 1422 } |
1428 } | 1423 } |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1560 exports.leaveJsAsync = leaveJsAsync; | 1555 exports.leaveJsAsync = leaveJsAsync; |
1561 exports.isWorker = isWorker; | 1556 exports.isWorker = isWorker; |
1562 exports.startRootIsolate = startRootIsolate; | 1557 exports.startRootIsolate = startRootIsolate; |
1563 exports.IsolateNatives = IsolateNatives; | 1558 exports.IsolateNatives = IsolateNatives; |
1564 exports.RawReceivePortImpl = RawReceivePortImpl; | 1559 exports.RawReceivePortImpl = RawReceivePortImpl; |
1565 exports.ReceivePortImpl = ReceivePortImpl; | 1560 exports.ReceivePortImpl = ReceivePortImpl; |
1566 exports.TimerImpl = TimerImpl; | 1561 exports.TimerImpl = TimerImpl; |
1567 exports.hasTimer = hasTimer; | 1562 exports.hasTimer = hasTimer; |
1568 exports.CapabilityImpl = CapabilityImpl; | 1563 exports.CapabilityImpl = CapabilityImpl; |
1569 }); | 1564 }); |
OLD | NEW |