| 1 |  |  | import 'dart:isolate'; | 
                
                
                    | 2 |  |  |  | 
                
                
                    | 3 |  |  | import '../../typedefs.dart'; | 
                
                
                    | 4 |  |  | import '../../worker/worker_request.dart'; | 
                
                
                    | 5 |  |  | import '../xplat/_worker_runner.dart'; | 
                
                
                    | 6 |  |  | import '_worker_runner.dart'; | 
                
                
                    | 7 |  |  |  | 
                
                
                    | 8 |  | 10 | void bootstrap(WorkerInitializer initializer, WorkerRequest? command) { | 
                
                
                    | 9 |  | 10 |   final workerPort = ReceivePort(); | 
                
                
                    | 10 |  |  |  | 
                
                
                    | 11 |  | 20 |   final runner = WorkerRunner((r) { | 
                
                
                    | 12 |  | 20 |     r.internalLogger.t('Terminating Isolate'); | 
                
                
                    | 13 |  | 10 |     workerPort.close(); | 
                
                
                    | 14 |  | 20 |     Isolate.current.kill(priority: Isolate.beforeNextEvent); | 
                
                
                    | 15 |  |  |   }); | 
                
                
                    | 16 |  |  |  | 
                
                
                    | 17 |  | 20 |   workerPort.listen(runner.handle); | 
                
                
                    | 18 |  | 20 |   runner.connect(command, workerPort.sendPort, initializer); | 
                
                
                    | 19 |  |  | } |