isolate_contactor 2.0.0
isolate_contactor: ^2.0.0 copied to clipboard
An easy way to create a new isolate, keep it active and comunicate with it. It supports sending and receiving values between main and child isolate multiple times via stream.
2.0.0 #
- NO BREAKING CHANGE
- Add
Workerfor Web platform (real Isolate on Web). Read README for more details.
1.7.0 #
- BREAKING CHANGE: Change parameter name from
isolateParamstoinitialParamsforcreateOwnIsolate. - Now you can get the
initialParamswhen creating an own isolate:
void isolateFunction(dynamic params) {
var controller = IsolateContactorController(params, onDispose: () {});
var initialParams = controller.initialParams;
controller.onIsolateMessage.listen((message) {
// Do your stuff here
});
}
1.6.1 #
- Added
IsolateContactorException, throw it when error occurs onsendMessagemethod. - Return
Futurefordisposemethod.
1.6.0 #
- Now you can
awaitfor the result when usingisolateContactor.sendMessage. - Improved README and Test.
1.5.1+1 #
- Improved result parser.
- Improved README for allowed return type version, Improved Test and Example.
1.5.0+1 #
- Now you can add return type for the stream listener. Example:
// `fibonacci` have `int` return type
IsolateContactor<int> isolateContactor = await IsolateContactor.create(fibonacci);
// `intEvent` will be `int` type
isolateContactorFuture.onMessage.listen((intEvent) {
// intEvent
});
// `fibonacci` have `int` return type
int fibonacci(dynamic n) {
if (n <= 2) return 1;
int n1 = 0, n2 = 1, n3 = 1;
for (int i = 2; i <= n; i++) {
n3 = n1 + n2;
n1 = n2;
n2 = n3;
}
return n3.round();
}
- Add
onDisposeparameter toIsolateContactorController, this parameter allows you to add your own dispose method insideisolateFunctionfor.createOwnIsolate.
1.4.0 #
- Fixed issue in
internalIsolateFunctionmakes this function run twice.
1.3.0 #
- Updated dependencies.
- Improved function headers.
1.2.1 #
- Update dependencies
- Update homepage
- Cleanup
1.2.0+2 #
- Update homepage
1.2.0+1 #
- Update README
1.2.0 #
- Fixed issue with the
restartmethod. - Cleanup and reformat internal code.
- BREAKING CHANGE:
- Temporarily removed the
pauseandresumemethods. - The
debugModein thecreate()andcreateOwnIsolate()methods was refactored to named optional parameters.
- Temporarily removed the
1.1.0+1 #
- Remove flutter dependencies to support dart native
- Add a better description
1.0.0 #
- Support web platform with limited features. The package use
Futureto provide the same features toIsolatebut it doesn't havepause,resume,restartmethods. I'll try to bring the same action withIsolateas much as possible. - Support
Futurewhen creating build-in method. More information please read Readme. - BREAKING CHANGE:
-
Create your own isolate:
Before:
void isolateFunction(List<dynamic> params) { final channel = IsolateChannel.connectSend(params.last); channel.stream.listen((rawMessage) { final message = IsolateContactor.getMessage(rawMessage); if (message != null) { // Do more stuff here // Send the result to your [onMessage] stream channel.sendResult(add(message[0], message[1])); } }Now:
void isolateFunction(dynamic params) { final channel = IsolateContactorController(params); channel.onIsolateMessage.listen((message) { // Do more stuff here // Send the result to your [onMessage] stream channel.sendResult(add(message[0], message[1])); }); }
-
0.0.1+2 #
- Update flutter version
0.0.1+1 #
- Update description
0.0.1 #
- Initial release