File tree Expand file tree Collapse file tree 3 files changed +16
-8
lines changed
Expand file tree Collapse file tree 3 files changed +16
-8
lines changed Original file line number Diff line number Diff line change 1+ ## v1.1.3
2+ * Bugfix: concurrent modifications during iteration occurred in some cases while processing events.
3+
14## v1.1.2
25* Bugfix: expireAfterSeconds option for IndexDescriptor of CollectionDescriptor was ignored.
36
Original file line number Diff line number Diff line change @@ -60,18 +60,23 @@ class Events {
6060 _eventHandlers[T ]? .remove (handler);
6161 }
6262
63+ Future <void > _tryExecute (Function handler, Event event) async {
64+ try {
65+ await handler (event);
66+ }
67+ catch (err, stack) {
68+ _server._logger.error ('Event handler execution error: $err ' , stack);
69+ }
70+ }
71+
6372 Future <void > dispatch (Event event) async {
64- if (event is ! Event ) throw Exception ( '$ event is not an Event class instance' ) ;
73+ final List < Future < void >> futures = < Future < void > > [] ;
6574 if (_eventHandlers[event.runtimeType] != null ) {
6675 for (final Function handler in _eventHandlers[event.runtimeType]! ) {
67- try {
68- await handler (event);
69- }
70- catch (err, stack) {
71- _server._logger.error ('Event handler execution error: $err ' , stack);
72- }
76+ futures.add (_tryExecute (handler, event));
7377 }
7478 }
79+ await Future .wait (futures);
7580 }
7681
7782 void dispose () {
Original file line number Diff line number Diff line change 11name : serveme
22description : Backend server framework designed for a quick development of modular WebSocket based server applications with MongoDB integration.
3- version : 1.1.2
3+ version : 1.1.3
44homepage : https://github.com/sourcecaster/serveme
55repository : https://github.com/sourcecaster/serveme
66issue_tracker : https://github.com/sourcecaster/serveme/issues
You can’t perform that action at this time.
0 commit comments