[x] After receiving the request , before processing the callbacks , a request-id shall be generated and sent to the requestor as a response.
[x] This generated request-id and the requestor details shall be stored in a temporary data store to send the final result as a callback to the requestor
For example , a map shall be included to temporarily maintained in a global datastore, and the generated request-id and the requestor details shall be stored,
linkTXReactivationRequestMap // to store and map the generated request-id to the requestor details
linkTXReactivationRequestMap.set(“main request-id” , {“requestor-ip”,”port”,”callback url”}}
After responding with the request-id to the requestor , process the following callbacks,
If , module-to-restore-original-state-list not contains AllTransmittersOn (means link is not in power saving mode)
then
Respond to the initial requestor(e.g. AIPS://v1/receive-power-saving-deactivation-status) with status-of-link=NotQualified and exit
else
proceed to "Find the uuids of the air-interfaces involved in the link"
Find the uuids of the air-interfaces involved in the link
[ ] Perform the callback RequestForReactivatingAllTransmittersOfLinkInitiatesTransaction. DetermineLinkEndpoints
to find the uuids of the air-interfaces involved in the link
Note : the uuid of the air-interface ltp received from the control-construct will also have the node-id as prefix. So , that prefix needs to be removed while processing the following callbacks directly to the MWDG
If the uuids of the air-interfaces are found then
proceed to "Switch ON both the transmitters"
else
"Inform about failure in Switching ON both the transmitters" and exit
Switch ON both the transmitters
perform the following callback twice to switch ON the transmitter in both the endpoints ,
[ ] Respond to the initial requestor(e.g. AIPS://v1/receive-power-saving-deactivation-status) with statusOfLink="AllTransmittersOn"
[ ] record the power saving status in the callback AIPS::/v1/record-power-saving-status that the power saving is reverted ( removeDeviationsFromOriginalState="RedundantTransmittersOff", removeModulesToRestoreOriginalState="AllTransmittersOn" )
else if one(or both) of the is not switchedON then
[ ] switchOFF both the transmitters by using the callback RequestForReactivatingAllTransmittersOfLinkInitiatesTransaction.SwitchBothTransmittersOff
[ ] Respond to the initial requestor(e.g. AIPS://v1/receive-power-saving-deactivation-status) with statusOfLink=" RedundantTransmittersOff "
[ ] record the power saving status in the callback AIPS::/v1/record-power-saving-status that the power saving is not reverted ( addDeviationsFromOriginalState="RedundantTransmittersOff", addModulesToRestoreOriginalState="AllTransmittersOn" )
Inform about failure in Switching ON both the transmitters
In the above mentioned callbacks , is there is a problem(apart from the one mentioned in the section "Switch ON both the transmitters"_ that prevents in switching ON the transmitter back then ,
[ ] Respond to the initial requestor(e.g. AIPS://v1/receive-power-saving-deactivation-status) with statusOfLink=" UndefinedState "
[ ] record the power saving status in the callback AIPS::/v1/record-power-saving-status that the revert is not successful ( addModulesToRestoreOriginalState="AllTransmittersOn" )
:exclamation: :exclamation: After sending the final result to the requestor , delete the details of the "client" from the linkTXReactivationRequestMap inorder to not maintain the state of the request
For example , a map shall be included to temporarily maintained in a global datastore, and the generated request-id and the requestor details shall be stored,
After responding with the request-id to the requestor , process the following callbacks,
Read the power saving status of the Link
Find the uuids of the air-interfaces involved in the link
If the uuids of the air-interfaces are found then proceed to "Switch ON both the transmitters" else "Inform about failure in Switching ON both the transmitters" and exit
Switch ON both the transmitters
perform the following callback twice to switch ON the transmitter in both the endpoints ,
If both the transmitters are switchedON then
else if one(or both) of the is not switchedON then
Inform about failure in Switching ON both the transmitters
In the above mentioned callbacks , is there is a problem(apart from the one mentioned in the section "Switch ON both the transmitters"_ that prevents in switching ON the transmitter back then ,