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
Implement concurrency management #3
Comments
Analysis of HA7Net Concurrency Management and Locking SupportIt appears that for most of the operations supported by these drivers, explicit HA7Net concurrency management is not needed and indeed not even supported by the HA7Net. The one HA7Net interface currently used by these drivers that supports passing lock IDs is the It is believed that for these higher level interfaces, the HA7Net performs its own concurrency management as it carries out multiple actions on the 1-Wire bus for each invocation of the higher level interface. Further, it is believed that when multiple requests for higher level interfaces occur, the HA7Net will queue them until either the currently executing higher level action has completed or a lock obtained by a client is either released or expires. I have an outstanding email support request to the folks at EDS to confirm these understandings. Recommended EnhancementsGiven this understanding, it's recommended that the parent driver be enhanced to support concurrency management and locking when using the Additionally, since the multiple timeouts have occurred per day in at least one deployment of these drivers and the default HA7Net lock timeout value is 60 seconds, it's recommended that users of these drivers reduce the lock timeout value to 5 or so seconds. |
This issue will be left open until confirmation of the assumed locking behavior is received from EDS support. |
#3 - remove lock ID from sensor type check call
Per EDS support:
Which pretty much confirms what I was thinking. Closing out this issue given that locking has been implemented for the Search interface, the only interface that the drivers currently use that supports the lock I’d. |
Support concurrency management by requesting a lock of the 1-Wire bus from the HA7Net at the start of each operation. See the HA7Net User's Manual and Programmer's Guide for details.
The text was updated successfully, but these errors were encountered: