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

Add guaranteed delivery of changes for VT client #362

Closed
GwnDaan opened this issue Nov 29, 2023 · 2 comments · Fixed by #371
Closed

Add guaranteed delivery of changes for VT client #362

GwnDaan opened this issue Nov 29, 2023 · 2 comments · Fixed by #371
Assignees
Labels
enhancement New feature or request iso: virtual terminal Related to the ISO-11783:7 standard

Comments

@GwnDaan
Copy link
Member

GwnDaan commented Nov 29, 2023

As discussed in #231, "some calls to send_something in the VT client fail sometimes". This essentially means that it is not guaranteed that sent changes actually arrive at the VT server.

Since most applications will want their changes to be reliable delivered to the VT server, we can (try to) provide an interface for ensuring delivery.

I think a good starting point is to ensure that the message is actually sent on the bus to the VT, but ultimately we should also check the responses from the VT where possible.

@GwnDaan GwnDaan added enhancement New feature or request iso: virtual terminal Related to the ISO-11783:7 standard labels Nov 29, 2023
@GwnDaan GwnDaan changed the title Wrapper on the VT client to facilitate guaranteed delivery of changes Add guaranteed delivery of changes for VT client Nov 29, 2023
@GwnDaan GwnDaan self-assigned this Dec 1, 2023
@GwnDaan
Copy link
Member Author

GwnDaan commented Dec 1, 2023

Hey @ad3154, I want to pick up this issue. Though I'm curious on your thoughts on how to implement it. I'm considering adding a 'queue' functionality directly inside the current VT client for the failed send_.. commands. So basically instead of calling the CANNetwork.send_can_message function we could call a private function of the VT client that tries to send the message, and if it fails it will queue it for retrying at a later stage (probably inside .update()). I feel like that's fine?

@ad3154
Copy link
Member

ad3154 commented Dec 1, 2023

Yep, I think that's a good approach - we may also want to have some way to disable/bypass it as well which could be nice on platforms with less RAM.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request iso: virtual terminal Related to the ISO-11783:7 standard
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants