public unsafe ReleaseCacheItem Get(JsonOperationContext context, string url, out string changeVector, out BlittableJsonReaderObject obj) { if (_items.TryGetValue(url, out var item)) { if (item.AddRef()) { var releaser = new ReleaseCacheItem(item); changeVector = item.ChangeVector; obj = item.Ptr != null ? new BlittableJsonReaderObject(item.Ptr, item.Size, context) : null; #if DEBUG if (obj != null) { obj.BlittableValidation(); } #endif if (Logger.IsInfoEnabled) { Logger.Info($"Url returned from the cache with etag: {changeVector}. {url}."); } return(releaser); } } obj = null; changeVector = null; return(new ReleaseCacheItem()); }
public unsafe ReleaseCacheItem Get(JsonOperationContext context, string url, out long etag, out BlittableJsonReaderObject obj) { HttpCacheItem item; if (_items.TryGetValue(url, out item)) { if (item.AddRef()) { var releaser = new ReleaseCacheItem { Item = item }; etag = item.Etag; obj = new BlittableJsonReaderObject(item.Ptr, item.Size, context); if (Logger.IsInfoEnabled) { Logger.Info($"Url returned from the cache with etag: {etag}. {url}."); } return(releaser); } } obj = null; etag = 0; return(new ReleaseCacheItem()); }