feat: add _lastMessageId tracking to ObserveReadStream #396
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.
Summary
This MR adds message ID tracking capability to the
ObserveReadStream
class, enhancing the observability of CoAP observe operations.Changes Made
Code Changes
_lastMessageId
property toObserveReadStream
class inlib/observe_read_stream.ts
number | undefined
to handle cases where no messages have been processed yetundefined
in constructorappend()
method when processing observe packetsTest Coverage
test/agent.ts
within the existing "observe problems" test suite_lastMessageId
Technical Details
The
_lastMessageId
property is updated in theappend()
method at line 55:This happens when a packet passes the filtering criteria and is pushed to the stream, ensuring the property always reflects the most recently processed message ID.
Benefits
_lastId
and_lastTime
propertiesTesting
Files Changed
lib/observe_read_stream.ts
- Added_lastMessageId
property and logictest/agent.ts
- Added test coverage for new functionalityBreaking Changes
None. This is a purely additive change that maintains backward compatibility.