-
Notifications
You must be signed in to change notification settings - Fork 28
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
Synchronization Status for initialEvent = true notifications #299
Comments
Hello @gmuratk This is a fair point for alignement Don't you think it will simpler to adopt a rule regarding count (or not) of this initial event to the subscriptionMaxEvents? Straightforward rule will be to state that it counts. In this case, if a consumer request a subscription with subscriptionMaxEvents set to 1 and maxEvent sets to 1 it may receive immediately the 'business' event and the 'termination event'. |
Hi @bigludo7 In cases where client may need initialization of state, and then start receiving updates, client will need to understand when the synchronization/initialization complete (from API provider point of view) and start the counter against the subscriptionMaxEvents. |
Thanks @gmuratk for your answer. If we go to our current API:
|
May i ask other companies to provide feedback on this topic as it appears that we are not aligned as of now with @gmuratk . @shilpa-padgaonkar @PedroDiez in particular as you were involved in the design. |
Thanks for soliciting additional feedback, @bigludo7. I'd like the following points to be taken into consideration for this discussion:
As @bigludo7 stated, it would be great to hear feedback from others. |
Hi,
However, Saying that, I am aligned with this Ludovic's comment, if understood correclty. And explicit indicate that |
Hi @PedroDiez , the distinction you draw between the However, we have to recognize An API may want to implement delta updates for event notifications. In such cases it will be necessary for the current status to be distinguished from the event notifications. For example, if an even notification consists of 10 data elements, but when there is a change to only one of them, there is no need to send all the other 9 data elements. API consumer can subscribe to this notification with |
Hi, @gmuratk @bigludo7 As per my understanding we are aligned about @gmuratk Regarding your latest comment. In design commonalities I tend to think your understading of initialEvent is just an initial event about "user situation" not linked to the suscription details. Is it right? Just for me to understand, could you provide and example about the case you mention? (several data elements)
|
Hi @PedroDiez, An example use case we have at hand is the Capability and Runtime Restrictions (C&RR). An API Provider may define 10s or 100s of Runtime Restrictions (applying to different subscribers, locations, network conditions). An API consumer that supports the C&RR can initialize its cache (e.g. at the start of a session) by retrieving all the runtime restrictions, and then receiving only changed runtime restrictions, which may be a very small number of restrictions. |
BTW - on a specific point: |
Hi, Thanks for the explanation @gmuratk |
Add a note on combined usage of initialEvent and subscriptionMaxEvents (camaraproject#299)
Add part for: - camaraproject#304 - camaraproject#299 - partial camaraproject#295
@gmuratk
If you consider multi-stage synchronization additional values for enum can be defined. I think the synchronization as you describe it is not considered in current subscription APIs, hence it is hard to define common guidelines and artifacts. And maybe too early. Each subproject currently defines the Anyway it can be tested in Capability and Runtime Restrictions (C&RR) definition if it is created as Sandbox. |
@rartych I was thinking along the same lines. Thanks! |
Problem description
API Design Guideline states
subscription-ends
notification shouldn't be counted in the subscriptionMaxEvents. However, such a statement is not available for notifications resulting frominitialEvent=true
.In addition, there may be cases where a single notification may not be sufficient to initialize/synchronize the data on the client side and clients need to know when the initialization end and when the events start occurring.
Possible evolution
One possible solution might be to introduce a feature
initialEventSync
with enums like 'synchronizing',synchronizationComplete
. This feature can be added similar toterminationReason
attribute.Alternative solution
Additional context
The text was updated successfully, but these errors were encountered: