Tracking Subscriptions in memory

References

CPS-2022: Inmemory Datastructure to track SubscriptionClosed

Issues & Decisions

#

Issue

Notes

Decisions

#

Issue

Notes

Decisions

1









Overview

This is internal page intended for the collaboration between the team to decide how the Subscription will be present in memory.

Proposed Structure :  

The structure is similar to the incoming subscription request from the Client.

Map < Unique Subscription Id , Map < Dmi-Plugin Name , CmSubscriptionCompositeObject > > CmSubscriptionCompositeObject CmSubscriptionPredicate list - targetFilter : (List of cmHandles - Subscription request incoming cmhandles grouped using target dmiPlugin) - Status ( Accepted , Rejected or Pending ) - initially Pending - scopeFilter : Datastore ( passthrough-operational and passthrough-running ) List of xpaths



Example

{"subscription123" , { "dmi-1" : { "cmSubscriptionPredicates" : [ “targetFilter” : list of cmhandles, // mandatory "scopeFilter" : { "datastore": “ncmp-datastore:passthrough-operational or ncmp-datastore:passthrough-running", // optional. default is passthrough-operational "xpath-filter": list of valid xpaths // mandatory } ], "status" : "ACCEPTED/REJECTED/PENDING" } } }