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

[BUG] Function block changes when there's no active client connection are not captured #294

Closed
Psychlist1972 opened this issue Mar 7, 2024 · 1 comment
Assignees
Labels
area-service-or-api 🖥️ Related to the Windows Service, core API, abstractions, etc. area-transports 🚌 General transports like USB, BLE, Network, etc. bug 🐞 Something isn't working critical ‼️ Critical to be fixed/implemented before next major release dp7-fixed 🥳 Fixed in developer preview 7

Comments

@Psychlist1972
Copy link
Contributor

Psychlist1972 commented Mar 7, 2024

Describe the bug

The function block metadata listener is a plugin in the client pipe in the service right now.

Function Block message changes are in-protocol messages. So we have to listen to the messages. That means, there needs to be a connection open when the change happens so we can receive and process the message.

We do protocol negotiation and request function blocks whenever a device is enumerated (plugged in). We keep the connection open for that short period of time to handle that, and then we close it afterwards.

The potential workarounds are:

  • Always keep a connection open from the service to the UMP device. This uses more resources, but is probably the best approach. We may need to rethink the current plugin approach and have it sit off in a thread in the transport's endpoint manager instead. Even if there are static function blocks, we still need to listen to other changes like protocol, endpoint name, etc.
  • Always re-request function blocks when there's a new connection but no other connection. I see a lot of race conditions with this.
@Psychlist1972 Psychlist1972 added bug 🐞 Something isn't working area-service-or-api 🖥️ Related to the Windows Service, core API, abstractions, etc. area-transports 🚌 General transports like USB, BLE, Network, etc. needs-investigation 🔍 Needs to be investigated before considering or solving. labels Mar 7, 2024
@Psychlist1972 Psychlist1972 self-assigned this Mar 7, 2024
@Psychlist1972 Psychlist1972 added critical ‼️ Critical to be fixed/implemented before next major release and removed needs-investigation 🔍 Needs to be investigated before considering or solving. labels Apr 16, 2024
@Psychlist1972 Psychlist1972 added the dp7-fixed 🥳 Fixed in developer preview 7 label Jul 31, 2024
@Psychlist1972
Copy link
Contributor Author

Closed with release of DP7

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-service-or-api 🖥️ Related to the Windows Service, core API, abstractions, etc. area-transports 🚌 General transports like USB, BLE, Network, etc. bug 🐞 Something isn't working critical ‼️ Critical to be fixed/implemented before next major release dp7-fixed 🥳 Fixed in developer preview 7
Projects
Status: 🚀 In Progress
Development

No branches or pull requests

1 participant