예제 #1
0
        /// <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;
            }
        }
예제 #2
0
        /// <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;
            }
        }