Line data Source code
1 : import 'package:combine/src/isolate_messenger/isolate_messenger.dart'; 2 : import 'package:combine/src/isolate_messenger/isolate_messenger_from_internal.dart'; 3 : 4 : abstract class InternalIsolateMessenger with ClosableIsolateMessenger { 5 : /// Stream with messages from isolate. 6 : Stream<Object?> get messagesStream; 7 : 8 : /// Sends messages to the isolate. 9 : void send(Object? message); 10 : 11 4 : IsolateMessenger toIsolateMessenger() => IsolateMessengerFromInternal(this); 12 : } 13 : 14 : mixin ClosableIsolateMessenger { 15 : bool _isClosed = false; 16 4 : bool get isClosed => _isClosed; 17 : 18 4 : void markAsClosed() => _isClosed = true; 19 : } 20 : 21 : class IsolateClosedException implements Exception {}