Skip to content
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

Suggested change in Template #349

Open
drjdpowell opened this issue Dec 19, 2024 · 3 comments · May be fixed by #346
Open

Suggested change in Template #349

drjdpowell opened this issue Dec 19, 2024 · 3 comments · May be fixed by #346
Assignees
Labels
Group:template template VI P1 Type:enhancement New feature or request

Comments

@drjdpowell
Copy link

The first impression a new User gets of your template is the large number of wires coming out of the "Parse State Queue++".

image

It gives the impression that this framework is going to be hard to understand. It looks complex. Here is my suggestion of moving things around a bit:

image

I've

  • separated the various Call/Response stuff from the original JKI-SM stuff
  • made it obvious what the "Last State Response" is
  • tries to use different names to distinguish between my response to someone else versus someone else's response to me (which I found very confusing at first)
@drjdpowell
Copy link
Author

Oh, I also

  • Made Init State a constant, as one wouldn't normally change that
  • stopped passing the "My Response Args" into the case structure. This make it clear that we are sending them off in our response. I'm not sure why one would want to keep a copy of them, but the user can easily do that if they like.

@nevstop nevstop added Type:enhancement New feature or request Group:template template VI P1 labels Dec 20, 2024
@nevstop nevstop self-assigned this Dec 20, 2024
@nevstop
Copy link
Contributor

nevstop commented Dec 20, 2024

Great suggestion! It will be included in the coming release.

@nevstop
Copy link
Contributor

nevstop commented Dec 20, 2024

Oh, I also

  • Made Init State a constant, as one wouldn't normally change that
  • stopped passing the "My Response Args" into the case structure. This make it clear that we are sending them off in our response. I'm not sure why one would want to keep a copy of them, but the user can easily do that if they like.

Here is why I passed the "My Response Args" in to case structure. If caller send sync message of "Macro: DoSomething" to callee, which is consist of several sub-states. This wire is needed to pass the actual return value from the middle state in "Action: Step3".

\\ sub-states of "Macro: DoSomething"
Action: Step1
Action: Step2 \\ return value
Action: Step3

Caller will get the return value as response for "Macro: DoSomething" after all sub-states are executed by callee.

But anyway, I agree with you that the users could easily do it by themselves. That's a corner case. I accept the change. It helps the template looks better. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Group:template template VI P1 Type:enhancement New feature or request
Projects
Status: Linked to PR
Development

Successfully merging a pull request may close this issue.

2 participants