...
The state transition diagram is illustrated below:
Gliffy Diagram | ||||
---|---|---|---|---|
|
The main actions in the various states are listed below:
...
Buffer the notification (along with the cluster id) in the DB. Discard any older notifications (remove from the DB) from the same cell (which is buffered).
2.1.6. OOF Response Handling
...
Upon receiving a terminate request clean up all resources.
2.2. Child Thread(s)
...
Gliffy Diagram | ||||
---|---|---|---|---|
|
2.2.1 Initialization
In this state, perform initialization, and transition to Cluster formation state.
...
2.2.3. Wait for notifications
- Start notif_timer if not started already, and wait for more notifications
- If a new notification is received, transition to Cluster modification state. If notif_timer expires, transition to Trigger OOF state.
...
Else
Start timer Wait for more notifications (timer must have been started during cluster formation)
Fi
Note: When transitioning to this state from Handle buffered notifications state, more than 1 notification may have to be handled.
...
After sending the message to Policy, a status update is provided to the Main Thread for further actions.
2.2.7.
...
Buffered notification handling
- If the main thread triggers a buffered notification to be handled, start buf_timer (if not started already) to buffer the notification (pre-configured value), if not already started (Note), and store the notification contents.
- Upon expiry of buf_timer, process the received (and stored) notifications by transitioning to Cluster Modification state.
- If new notifications are received when in this state, then check on whether a notification was received and buffered for the same cell earlier, and if yes, discard the earlier notification (i.e., retain only the latest unprocessed notification for a cell). Simply store the notification and remain in this state.
...