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

announce kernel result #62

Closed
plastikfan opened this issue Jun 30, 2024 · 2 comments · Fixed by #63
Closed

announce kernel result #62

plastikfan opened this issue Jun 30, 2024 · 2 comments · Fixed by #63
Assignees
Labels
feature New feature or request

Comments

@plastikfan
Copy link
Contributor

plastikfan commented Jun 30, 2024

this will include adding any support code enale tests to be completed, eg registering the session so that it can be populated on the KernelResult.

@plastikfan plastikfan added the test Automated testing label Jun 30, 2024
@plastikfan plastikfan self-assigned this Jun 30, 2024
@plastikfan plastikfan changed the title add universal tests add universal navigator tests Jun 30, 2024
@plastikfan
Copy link
Contributor Author

plastikfan commented Jul 1, 2024

approaches to consider:

  • register the session with the navigator: before navigation starts, the session needs to be able to invoke something provided by the navigator (facilities). This could be an internal bus event: navigation.before and would allow other entities to provide data required for the result; ForResult. The problem with this approach is that the navigator has to know about external concerns; ie setting the session on the result.
  • broadcast kernel result: this would be a bus event, whose data field would be the KernelResult. Entities interested in the KernelResult would register a handler for the KernelResult, so that they can set properties on the result. This frees the navigator from external concerns, it just broadcasts something and the other entites can do whatever they need to. This is the prefered approach as it maintains separation of concerns.

@plastikfan
Copy link
Contributor Author

plastikfan commented Jul 1, 2024

So broadcasting the result should be done by the base navigator/agent with a function called result. The problem we have here is that we only want the result to be announced once, which poses problems for Spawn, which produces many results for a single navigation. To get around this issue, the announce should be defined by the session. So we need to register the session with the navigator but for a different reason than was discussed in the previous post.

Spawn knows when the result really means a final result, so it needs to be able overriden the core navigator.

@plastikfan plastikfan changed the title add universal navigator tests announce kernel result Jul 1, 2024
@plastikfan plastikfan added feature New feature or request and removed test Automated testing labels Jul 1, 2024
@plastikfan plastikfan linked a pull request Jul 2, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant