Tracking Subscriptions in memory
References
CPS-2022: Inmemory Datastructure to track SubscriptionClosed
Issues & 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"
}
}
}