eclipse-uprotocol/up-cpp

Layer 1 register listener needs sink_filter to be optional

gregmedd opened this issue · 1 comments

The 1.0.0 release has a minor misalignment with the 1.6.0 uP spec around the handling of URIs: The sink filter is optional, with special meaning at the transport implementation when it is unset (Publish/Subscribe usecase). The source filter never has a "unset" state - wildcards are used in that case.

This has resulted in a misalignment between URI positions in the Publisher and Subscriber (notifications seem to also have the issue).

The API should be adjusted to better reflect the spec. Since we don't want to break API compatibility, we will use the deprecated attribute on existing APIs, patching them to work. New APIs will be added alongside them with better spec alignment.

Work is in progress. Most of the change has been made, but I need to address some fallout in UUri handling around when wildcards are allowed for listen filters.