{"action":"closed","issue":{"url":"https://api.github.com/repos/dotnet-state-machine/stateless/issues/59","repository_url":"https://api.github.com/repos/dotnet-state-machine/stateless","labels_url":"https://api.github.com/repos/dotnet-state-machine/stateless/issues/59/labels{/name}","comments_url":"https://api.github.com/repos/dotnet-state-machine/stateless/issues/59/comments","events_url":"https://api.github.com/repos/dotnet-state-machine/stateless/issues/59/events","html_url":"https://github.com/dotnet-state-machine/stateless/issues/59","id":155465626,"number":59,"title":"Can we have InternalTransition, please?","user":{"login":"HenningNT","id":13196280,"avatar_url":"https://avatars.githubusercontent.com/u/13196280?v=3","gravatar_id":"","url":"https://api.github.com/users/HenningNT","html_url":"https://github.com/HenningNT","followers_url":"https://api.github.com/users/HenningNT/followers","following_url":"https://api.github.com/users/HenningNT/following{/other_user}","gists_url":"https://api.github.com/users/HenningNT/gists{/gist_id}","starred_url":"https://api.github.com/users/HenningNT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HenningNT/subscriptions","organizations_url":"https://api.github.com/users/HenningNT/orgs","repos_url":"https://api.github.com/users/HenningNT/repos","events_url":"https://api.github.com/users/HenningNT/events{/privacy}","received_events_url":"https://api.github.com/users/HenningNT/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":10,"created_at":"2016-05-18T10:17:55Z","updated_at":"2016-09-05T06:16:27Z","closed_at":"2016-09-05T06:16:27Z","body":"I have used the Quantum Leaps state machine framework quite a bit to run state machines on microcontrollers. It supports internal transitions, and it makes life a lot easier. The internal transition does not actually change state, so the state is the same after the event has been processed.\r\n\r\nConsider the telephone call example. Let's say we need to adjust the volume. Every state would need an two extra lines: PermitReentry (AdjustVolumeEvent) and OnEntryFrom(AdjustVolumeEvent, HandleVolumeControl).\r\n\r\nBy using internal transition we only need to add a handler to a superstate (State.OffHook), which is much less verbose.\r\nAs a bonus the super states becomes much more useful as well."}}
{"actor":{"display_login":"HenningNT"}}