tree 5ecfc0cf3e3e06ccd94ebb2410b310871f286d95
parent 171676f0afd5cd747fa99b21e4623d74ee85b4ec
author P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com> 1624567511 +0530
committer Ed Tanous <ed@tanous.net> 1639089209 +0000

Restructure Redfish EventLog Transmit code flow

In the current implementation:
 1. When Event service is disabled and enabled back after a while,
    all the logs during this time span between disable to enable
    are dumped to the Event listener.
 2. When two(or more) events occur very close (in terms of
    microseconds) and they trigger multiple iNotify events,
    the listener receives all of these events with the same
    Event ID.

This occurs as the last log timestamp read from redfish file
and previous time stamp used to generate Event ID's are not
being updated continuously.

This commit fixes this issue by tweaking the logic to continuously
update the time stamp values (even when Event Service is disabled),
and also replaces multiple string operations with file operations.
i.e. Instead of looping through the entire Redfish file until last
timestamp read is reached, this fix makes use of seekg to get to
the last read position.

Tested:
  - Subscribed to an event and successfully received Event Logs.
  - No Event Logs were received when Event Service was disabled.
  - No Dump of past Events after Event Service was enabled.
  - Redfish Validator passed

Change-Id: Id8407ff7e9fc48e7810c9193ef43f707b9615c36
Signed-off-by: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
Signed-off-by: Ankita Vilas Gawade <ankita.gawade@intel.com>
