-
Notifications
You must be signed in to change notification settings - Fork 6
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
Implementation of MSG_TYPE_PORT_ABSENT in reactor-ts #105
Comments
This might be an interesting next project for @ByeongGil-Jun |
This is a comment where port absent message was mentioned: lf-lang/lingua-franca#538 (comment) |
FYI @ByeongGil-Jun on federated execution AST transformation: lf-lang/lingua-franca#1212 |
FYI @ByeongGil-Jun on network control reactions: lf-lang/lingua-franca#608 |
@lhstrh This is the tracking issue for port absent messages. Thanks! |
Below is the logic to execute reactions considering network control reactions and port absent messages in TypeScript federated execution. The logic introduces two separate queues for reactions
This is a while loop. This loop exits only when After that, we should trigger all @lhstrh Could you please give us suggestions on where we should add the last known status tag? There are two suggestions by @hokeun. One is inside the port, and the other one is a map outside of the port. |
@lhstrh Below is what I found about waiting There are two problems. For the first question, we should make all caller functions of
It would be possible to apply And the second problem raises here, dealing with What is the better way to address this waiting problem, keep my previous solution, or start the discussion to apply |
I don't know enough about concurrency in TypeScript to offer advice here, but maybe it's worth understanding the big picture. The In TS, if you have a long running reaction (even an ordinary reaction), what happens to messages from the RTI during that reaction's execution? Why wouldn't the same mechanism work for |
@edwardalee It's not straightforward to implement the same long-running reaction with suspending and resuming in reactor-ts because reactor-ts runtime is currently single-threaded. So for now, |
I see. It looks like the implementation repeatedly invokes the |
MSG_TYPE_PORT_ABSENT is a message sent by an output control reaction when the output is going to be absent.
See here for more details.
The text was updated successfully, but these errors were encountered: