...
- We receive an event of type : subscriptionDeleted from the client ( EDM DME ) containing the subscription clientId and subscription name along with datastore and dataCategory details ( Delete Subscription CM Event DMEtoNCMP )
- We check in NCMP that we have an ongoing subscription using clientId and subscriptionName.
- If we have ongoing subscription , we forward the event to dmi-plugins so that the changes are applied in the devices managed by dmi-plugin as well. ( Delete Subscription CM Event )
- Now if the dmi-plugins have applied the request then we get an event back from dmi-plugin and NCMP will process that event and based on that it will delete the ongoing subscription request from the database itself. If the response from DMI plugins is accepted ( i.e it can delete the subscriptions from the underlying devices and no subscription delete request are in PENDING or REJECTED state )Then we delete the subscriptions from the DB as well. ( Delete Subscription CM Event )
- After processing the received event from DMI , NCMP will send the final event to the client (EDMDME). ( Delete Subscription CM Event )
...
PlantUML Macro | ||||
---|---|---|---|---|
| ||||
@startuml "Subsciption Delete" participant CLIENT participant NCMP participant DMI_PLUGIN CLIENT -> NCMP: 1. Incoming subscriptionDelete event NCMP -> DMI_PLUGIN: 2. ncmp to forward event to dmi plugin DMI_PLUGIN -> DMI_PLUGIN: 3. Apply the requested event and respond with the status DMI_PLUGIN --> NCMP: 4. Status of the subscriptionDelete request whether accepted/rejected/pending NCMP --> NCMP: 5. If all accepted then only remove the subcription data from DB NCMP --> CLIENT: 6. Respond with the status that we received from dmi plugin @enduml |
...
DME to NCMP
Subscription Delete Event
...