- Compare Active Subscriptions (DB) with the current request
- Find delta
- we have the same subscription if we have the same combination of
- cmhandle AND xpath filter AND datastore
- we have the same subscription if we have the same combination of
- Create structure to hold all 'PENDING' subscriptions
- HZ map
- Update when there's overlapping
- updating the status in the HZ map from 'PENDING' for duplicated request(s)
- Find delta
A:
Wide Net → Narrow Net method
Active Subscriptions model imported from Database
SubscriptionId | cmHandle | filter | datastore |
---|---|---|---|
A-10 | ch-1 | p1/c1 | ncmp-datastore:passthrough-operational |
A-10 | ch-1 | p2/c2 | ncmp-datastore:passthrough-operational |
A-10 | ch-2 | p1/c1 | ncmp-datastore:passthrough-operational |
A-10 | ch-2 | p2/c2 | ncmp-datastore:passthrough-operational |
B:
IMap<String, CmSubscriptionCacheObject> pendingCmSubscriptions
Map of Subscription Id and CmSubscriptionCacheObject
C: