Current polling and timeout mechanism has problems in performance perspective.
SERVAL server keeps handling particular agent connection permanently.
Therefor SERVAL server needs a lot of thread for processing agents.
Huge number of threads need huge memory resources on Linux.
In order to use resources effectively current mechanism needs to be changed.
Before change
(1) SERVAL server receives agent's GetCommand request.
(2) SERVAL server waits the timing to response (Depends on polling interval)
(3) SERVAL server responses the command related to the request.
After change
(1) SERVAL server receives agent's GetCommand request.
(2) SERVAL server responses wait-request (polling interval) or the command (if it is time) to agent.
Current polling and timeout mechanism has problems in performance perspective.
SERVAL server keeps handling particular agent connection permanently.
Therefor SERVAL server needs a lot of thread for processing agents.
Huge number of threads need huge memory resources on Linux.
In order to use resources effectively current mechanism needs to be changed.
Before change
(1) SERVAL server receives agent's GetCommand request.
(2) SERVAL server waits the timing to response (Depends on polling interval)
(3) SERVAL server responses the command related to the request.
After change
(1) SERVAL server receives agent's GetCommand request.
(2) SERVAL server responses wait-request (polling interval) or the command (if it is time) to agent.