ed-pavlov / binstate Goto Github PK
View Code? Open in Web Editor NEWBinstate is a simple but yet powerful state machine for .NET. Thread safe. Supports async methods. Supports hierarchically nested states.
License: Apache License 2.0
Binstate is a simple but yet powerful state machine for .NET. Thread safe. Supports async methods. Supports hierarchically nested states.
License: Apache License 2.0
Hi,
First of all, thanks for sharing your project. It looks really great.
I had trouble getting started, though. When I use an enum, like one in your example, an enum with value 0 (default) will throw an argument null exception on Builder.DefineState
and Config.State.AddTransition
. This is a little bit confusing. Could you provide some hint, that 0 on int or enum is also considered null?
Also I think your elevator example might also throw that exception, as the nullcheck is performed on Events, too. At least my enum did throw that exception.
Thanks and cheers!
Hello, there!
As part of the university research we are currently doing regarding the security of Github Actions, we noticed that one or many of the workflows that are part of this repository are referencing vulnerable versions of the third-party actions. As part of a disclosure process, we decided to open issues to notify GitHub Community.
Please note that there are could be some false positives in our methodology, thus not all of the open issues could be valid. If that is the case, please let us know, so that we can improve on our approach. You can contact me directly using an email: ikoishy [at] ncsu.edu
Thanks in advance
The vulnerability fix that is missing by actions' versions could be related to:
(1) CVE fix
(2) upgrade of vulnerable dependency
(3) fix to secret leak and others.
Please consider updating the reference to the action.
If you end up updating the reference, please let us know. We need the stats for the paper :-)
It would be nice to add some mechanics to get next state inside exit action, because FSM behaviour may differs depends on state which transition to. Currently use additional states between my basic states to customize exit action, but it makes code less readable and I think it might be unsafe.
Maybe it could be made by enchancing functionality of IStateController with NextState property and overloading OnExit same as OnEnter
The workflow build-and-test.yml is referencing action gittools/actions/gitversion/setup using references v0.9.9. However this reference is missing the commit 90150b40fdd6c4b06d39cfd764e900cff45ccfca which may contain fix to the some vulnerability.
The vulnerability fix that is missing by actions version could be related to:
(1) CVE fix
(2) upgrade of vulnerable dependency
(3) fix to secret leak and others.
Please consider to update the reference to the action.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.