-
Notifications
You must be signed in to change notification settings - Fork 25
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
Address spec alignment issue by revising UTransport and NotificationSink APIs #240
Address spec alignment issue by revising UTransport and NotificationSink APIs #240
Conversation
Code coverage report is ready! 📈
|
Remaining work:
|
Code coverage report is ready! 📈
|
Code coverage report is ready! 📈
|
Code coverage report is ready! 📈
|
Code coverage report is ready! 📈
|
Code coverage report is ready! 📈
|
476493c
to
6fffc22
Compare
Code coverage report is ready! 📈
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please see comments
6fffc22
to
6218281
Compare
Code coverage report is ready! 📈
|
The UTransport API was not well aligned with the final version of the UProtocol 1.6.0 spec, in particular around the optionality of URI filters for registered listeners. This change adds new methods that better align with the intent of the spec. The existing APIs are retained (in some cases with new workarounds for buggy behavior) having now been flagged as deprecated.
UTransport now calls it the "entity" or "default entity" URI to avoid confusion since it is not solely used as a source address (it could also be used in constructing a sink filter). Deprecating isValid() check. Either a specific message type validity check should be used (in the case of a message with attributes) or the isValidFilter() should be used.
6218281
to
9783123
Compare
Code coverage report is ready! 📈
|
With the source/sink pivot in UTransport, some adjustment in Layer 2 was necessar. This includes removing calls to deprecated APIs and adjusting the NotificationSink API to match the UTransport changes.
Many tests broke when changes were made to validate source URIs with a situation-specific validator instead of the generic isValid() check.
This test validates the transport mock, but has no assertions on the behavior of the base UTransport class. It qualifies as an "extra" test - it does not contribute coverage to the up-cpp library.
9783123
to
d5cc19e
Compare
Code coverage report is ready! 📈
|
@stevenhartley @billpittman - Changes have been made to this PR. Please confirm your comments have been addressed and approve. Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM - Thanks for addressing my comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
The core changes here:
UTransport
API to correct alignment on optional/required URIs when registering listenersNotificationSink
API to align withUTransport
API updatevalidator::uri::isValidFilter()
)validator::uri::isValid()
in the process)Subscriber
andNotificationSink
Each change above, plus all of the unit test updates, ripple outward from the correction to the source and sink URIs in
UTransport
,NotificationSink
, andSubscriber
.