[Client] Fix two bugs in MonitoredItem #3447
Merged
+205
−13
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Proposed changes
This PR fixes two bugs in the client-side
MonitoredItemimplementation and adds some unit tests.There was a bug in the
MonitoredItemDataCache.Publish method: the for loop was never executed sincevalues.Countwas always empty. This means that forMonitoredItemswhereCacheQueueSizeis >1,DequeueValues()always returned an empty list.I noticed that
CacheQueueSizewas not serialized / deserialized.I added it to the
MonitoredItemStaterecord and changed the data type touint.I'm not sure if this was intentionally omitted from serialization, if there is a reason for it I can undo the changes ...
Related Issues
Types of changes
What types of changes does your code introduce?
Put an
xin the boxes that apply. You can also fill these out after creating the PR.Checklist
Put an
xin the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.Further comments