// TODO: this was put(K key, V value, bool notifyWriter); public V AddOrUpdate(K key, V value, bool notifyWriter) { RequireNonNull <V>(value); V oldValue = default(V); if ((writer == DisabledCacheWriter <K, V> .Instance) || !notifyWriter) { if (data.TryAdd(key, value)) { oldValue = value; } } else { data.AddOrUpdate(key, value, (k, v) => { if (!EqualityComparer <V> .Default.Equals(value, v)) { writer.Write(key, value); } oldValue = v; return(value); }); } if (HasRemovalListener) { if (!EqualityComparer <V> .Default.Equals(oldValue, default(V))) { if (!EqualityComparer <V> .Default.Equals(oldValue, value)) { NotifyRemoval(key, oldValue, RemovalCause.REPLACED); } } } return(oldValue); }
public void Append(long sequence, object[] values) { object[] data = new object[values.Length + 1]; data[0] = sequence; int index = 1; foreach (object value in values) { data[index] = value; index++; } cacheWriter.Write(header.IdentityCode, data); }
public void Append(DateTime time, object[] values) { object[] data = new object[values.Length + 1]; data[0] = time.Ticks; int index = 1; foreach (object value in values) { data[index] = value; index++; } cacheWriter.Write(header.IdentityCode, data); }
public void Append(long datafeedHashKey, Guid sessionId, SessionModeOption sessionMode) { cacheWriter.Write(CACHE_CONFIG_FILE, datafeedHashKey, sessionId, sessionMode); }