Line data Source code
1 : import 'dart:isolate'; 2 : 3 : import 'package:combine/combine.dart'; 4 : import 'package:combine/src/isolate_messenger/internal_isolate_messenger/internal_isolate_messenger.dart'; 5 : 6 : class NativeInternalIsolateMessenger extends InternalIsolateMessenger { 7 2 : NativeInternalIsolateMessenger(this.sendPort, this.messagesStream); 8 : 9 : final SendPort sendPort; 10 : 11 : @override 12 : final Stream<Object?> messagesStream; 13 : 14 2 : @override 15 : void send(Object? message) { 16 2 : if (isClosed) { 17 1 : throw IsolateClosedException(); 18 : } 19 : try { 20 4 : sendPort.send(message); 21 1 : } on ArgumentError catch (e, st) { 22 2 : throw Error.throwWithStackTrace(UnsupportedIsolateArgumentError(e), st); 23 : } 24 : } 25 : }