Thanks to visit codestin.com
Credit goes to github.com

Skip to content

4.0.0 #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Aug 15, 2022
Merged

4.0.0 #2

merged 10 commits into from
Aug 15, 2022

Conversation

LK-Simon
Copy link
Contributor

Version 4.0.0 introduces considerable refactoring and interface changes:

  • EventReceivable is no longer a class to inherit from for your own Event Processing Threads.
  • EventThread is now the class to inherit from for your own Event Process Threads.
  • Nomenclature has been standardised throughout the library to eliminate any ambiguity between an EventReceiver (which is a fundamental base type for anything which receives Eventable objects.
  • EventPool and all of its supporting types have been introduced as a major new feature for this release
  • README.MD has been fully updated to reflect all refactoring and feature changes introduced for this version.

- Fixed the Unit Tests for `EventListener`
- Removed useless Unit Tests for `UIEventReceiver` (a new Unit Test approach will be required here)
- `EventListener` can now invoke Callbacks on any of 3 Target Threads:
  - `.requesterThread` is the Thread belonging to the Callback itself
  - `.listenerThread` is the Thread belonging to the `EventListener`
  - `.taskThread` is an Ad-hoc `Task` Thread
- README.MD updated for the above
- `EventListener` will now raise a `Task` to invoke the callback on the `.requesterThread`. This prevents the entire `EventListener` from being blocked in the event that the `.requesterThread` is blocked.
- Stubbed `EventPooling` protocol
- Stubbed `EventPool` class
- Copied implementation of current `EventReciever` class to new `EventThread` class, which inherits from `EventThreadable` protocol

About to make `EventReceiver` into a common Base Class, because it will be used by both `EventThread` and `EventPool` alike.
Too much to detail, but we have a new naming convention that makes more sense to a human being, and we're using it now.
- Fixed `EventDispatcher` to ensure it updates its `receivers` when removing an `EventReceivable` from the managed collection of buckets
- Documentation improvements for `EventDispatching`
- First version of the `EventPool` implementation produced
- First version of the `EventPoolLowestLoadBalancer` implementation produced
- First version of the `EventPoolRoundRobinBalancer` implementation produced
- First version of the `EventPoolBalancer` implementation produced
- First version of the `EventPoolBalancing` protocol defined
- First version of the `EventPoolPooling` protocol defined
- First version of the `EventPoolScaler` implementation produced
- First version of the `EventPoolScaling` protocol defined
- First version of the `EventPoolStaticScaler` implementation produced
- `EventThread`'s `init``func` marked `required`
- `EventThreadable` protocol now defines `init` `func`
- `BasicEventPoolTests` unit tests added and executing properly
- Typo corrected in `EventPool` which would make the number of `EventThread`s in the pool always one more than requested for the capacity.
- Updated README.MD for Version 4.0.0
@LK-Simon LK-Simon merged commit 0f2de69 into main Aug 15, 2022
@LK-Simon LK-Simon deleted the 4.0.0 branch August 15, 2022 10:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant