/// <summary> /// Adds a new record indicating that an object was read. /// </summary> /// <param name="name">The name of the object</param> /// <param name="timestamp">The object's version timestamp</param> /// <param name="server">The server from which to object was read</param> public void RecordObjectRead(string name, DateTimeOffset timestamp, ServerState server, String SlaId) { try { IncrementRead(); if (objectsRead.ContainsKey(name) && objectsRead[name].Timestamp >= timestamp) { // previously read and recorded a newer version of this object // so ignore this one return; } DataObjectState record = new DataObjectState(name, timestamp, server.Name, SlaId); objectsRead[name] = record; if (server.HighTime < timestamp) { // update lastest known version from server server.HighTime = timestamp; } if (maxReadTimestamp < timestamp) { // Update the max session timestamp maxReadTimestamp = timestamp; } } catch (Exception ex) { throw ex; } }
/// <summary> /// Adds a new record indicating that an object was written. /// </summary> /// <param name="name">The name of the object</param> /// <param name="timestamp">The object's new version timestamp</param> /// <param name="server">The server to which the write was performed</param> public void RecordObjectWritten(string name, DateTimeOffset timestamp, ServerState server) { IncrementWrite(); DataObjectState record = new DataObjectState(name, timestamp, server.Name); objectsWritten[name] = record; if (server.HighTime < timestamp) { // update lastest known version for server server.HighTime = timestamp; } }