DecisionIsolateMain class

Enterprise-grade isolate manager with auto-dispose, idle timeout, active task tracking, and full lifecycle control.

Features:

  • Singleton + lazy initialization
  • Auto dispose on app pause/detach/idle
  • Thread-safe with synchronized package
  • Active task counter prevents premature disposal
  • Comprehensive debug status with getStatus()
  • Safe reset & force dispose options
  • Per-task timeout control
  • Crash-resistant with errorsAreFatal: false

Example:

final isolate = DecisionMainIsolate();

// Run task (auto-init if needed)
final result = await isolate.runTask(
  DecisionAlgorithm.saw,
  SawProcessingCommand.generateMatrix,
  {'data': myData},
  timeout: Duration(seconds: 10),
);

// Check status
print(isolate.getStatus());

// Force cleanup
isolate.dispose(force: true);
Mixed-in types

Constructors

DecisionIsolateMain()
factory

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

didChangeAccessibilityFeatures() → void
Called when the system changes the set of currently active accessibility features.
inherited
didChangeAppLifecycleState(AppLifecycleState state) → void
Called when the system puts the app in the background or returns the app to the foreground.
override
didChangeLocales(List<Locale>? locales) → void
Called when the system tells the app that the user's locale has changed. For example, if the user changes the system language settings.
inherited
didChangeMetrics() → void
Called when the application's dimensions change. For example, when a phone is rotated.
inherited
didChangePlatformBrightness() → void
Called when the platform brightness changes.
inherited
didChangeTextScaleFactor() → void
Called when the platform's text scale factor changes.
inherited
didChangeViewFocus(ViewFocusEvent event) → void
Called whenever the PlatformDispatcher receives a notification that the focus state on a view has changed.
inherited
didHaveMemoryPressure() → void
Called when the system is running low on memory.
inherited
didPopRoute() Future<bool>
Called when the system tells the app to pop the current route, such as after a system back button press or back gesture.
inherited
didPushRoute(String route) Future<bool>
Called when the host tells the application to push a new route onto the navigator.
inherited
didPushRouteInformation(RouteInformation routeInformation) Future<bool>
Called when the host tells the application to push a new RouteInformation and a restoration state onto the router.
inherited
didRequestAppExit() Future<AppExitResponse>
Called when a request is received from the system to exit the application.
inherited
dispose({bool force = false}) → void
Dispose the isolate and free resources.
getStatus() Map<String, dynamic>
Get comprehensive status information for debugging and monitoring.
handleCancelBackGesture() → void
Called when a predictive back gesture is canceled, indicating that no navigation should occur.
inherited
handleCommitBackGesture() → void
Called when a predictive back gesture is finished successfully, indicating that the current route should be popped.
inherited
handleStartBackGesture(PredictiveBackEvent backEvent) bool
Called at the start of a predictive back gesture.
inherited
handleUpdateBackGestureProgress(PredictiveBackEvent backEvent) → void
Called when a predictive back gesture moves.
inherited
init() Future<void>
Initialize the isolate if not already running. Thread-safe and lazy. Safe to call multiple times.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
reset() Future<void>
Reset and reinitialize the isolate.
runTask(DecisionAlgorithm algorithm, dynamic command, Map<String, dynamic> data, {Duration timeout = const Duration(seconds: 30)}) Future
Run a decision-making task in the isolate.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited