/// <summary> /// Merge the first entry i.e. c1 into c2 /// </summary> /// <param name="c1"></param> /// <param name="c2"></param> /// <returns>returns merged entry c2</returns> public static CacheEntry MergeEntries(CacheEntry c1, CacheEntry c2) { if (c1 != null && c1.Notifications != null) { Notifications cbEtnry = c1.Notifications; if (cbEtnry.ItemRemoveCallbackListener != null) { foreach (CallbackInfo cbInfo in cbEtnry.ItemRemoveCallbackListener) { c2.AddCallbackInfo(null, cbInfo, true); } } if (cbEtnry.ItemUpdateCallbackListener != null) { foreach (CallbackInfo cbInfo in cbEtnry.ItemUpdateCallbackListener) { c2.AddCallbackInfo(cbInfo, null, true); } } } if (c1 != null && c1.EvictionHint != null) { if (c2.EvictionHint == null) { c2.EvictionHint = c1.EvictionHint; } } return(c2); }
/// <summary> /// Merge the first entry i.e. c1 into c2 /// </summary> /// <param name="c1"></param> /// <param name="c2"></param> /// <returns>returns merged entry c2</returns> public static CacheEntry MergeEntries(CacheEntry c1, CacheEntry c2) { if (c1 != null && c1.Value is CallbackEntry) { CallbackEntry cbEtnry = null; cbEtnry = c1.Value as CallbackEntry; if (cbEtnry.ItemRemoveCallbackListener != null) { foreach (CallbackInfo cbInfo in cbEtnry.ItemRemoveCallbackListener) { c2.AddCallbackInfo(null, cbInfo); } } if (cbEtnry.ItemUpdateCallbackListener != null) { foreach (CallbackInfo cbInfo in cbEtnry.ItemUpdateCallbackListener) { c2.AddCallbackInfo(cbInfo, null); } } } if (c1 != null && c1.EvictionHint != null) { if (c2.EvictionHint == null) { c2.EvictionHint = c1.EvictionHint; } } return(c2); }
public static CacheEntry MergeEntries(CacheEntry c1, CacheEntry c2) { if ((c1 != null) && (c1.Value is CallbackEntry)) { CallbackEntry entry = null; entry = c1.Value as CallbackEntry; if (entry.ItemRemoveCallbackListener != null) { foreach (CallbackInfo info in entry.ItemRemoveCallbackListener) { c2.AddCallbackInfo(null, info); } } if (entry.ItemUpdateCallbackListener != null) { foreach (CallbackInfo info2 in entry.ItemUpdateCallbackListener) { c2.AddCallbackInfo(info2, null); } } } if (((c1 != null) && (c1.EvictionHint != null)) && (c2.EvictionHint == null)) { c2.EvictionHint = c1.EvictionHint; } return(c2); }