protected static IArrayBuffer <T> ToLeakAwareBuffer(IArrayBuffer <T> buffer) { IResourceLeak leak = ReferenceCounted.LeakDetector.Open(buffer); return(leak != null ? new LeakAwareByteBuffer <T>(buffer, leak) : buffer); }
public CompositeByteBuffer(IByteBufferAllocator allocator, int maxNumComponents) : base(int.MaxValue) { Contract.Requires(allocator != null); Contract.Requires(maxNumComponents >= 2); this.allocator = allocator; this.maxNumComponents = maxNumComponents; this.leak = LeakDetector.Open(this); }
public CompositeByteBuffer(IByteBufferAllocator allocator, int maxNumComponents) : base(AbstractByteBufferAllocator.DefaultMaxCapacity) { Contract.Requires(allocator != null); Contract.Requires(maxNumComponents >= 2); this.allocator = allocator; this.maxNumComponents = maxNumComponents; this.leak = LeakDetector.Open(this); }
internal void Report(IResourceLeak resourceLeak) { string records = resourceLeak.ToString(); if (!this.reportedLeaks.TryAdd(records, true)) { return; } Log.Error(records.Length == 0 ? $"LEAK: {this.resourceType}.Release() was not called before it's garbage-collected." : $"LEAK: {this.resourceType}.Release() was not called before it's garbage-collected. {records}"); }
public CompositeByteBuffer(IByteBufferAllocator allocator, int maxNumComponents, IByteBuffer[] buffers, int offset, int length) : base(AbstractByteBufferAllocator.DefaultMaxCapacity) { Contract.Requires(allocator != null); Contract.Requires(maxNumComponents >= 2); this.allocator = allocator; this.maxNumComponents = maxNumComponents; this.AddComponents0(0, buffers, offset, length); this.ConsolidateIfNeeded(); this.SetIndex(0, this.Capacity); this.leak = LeakDetector.Open(this); }
public CompositeByteBuffer( IByteBufferAllocator allocator, int maxNumComponents, IEnumerable <IByteBuffer> buffers) : base(int.MaxValue) { Contract.Requires(allocator != null); Contract.Requires(maxNumComponents >= 2); this.allocator = allocator; this.maxNumComponents = maxNumComponents; this.AddComponents0(0, buffers); this.ConsolidateIfNeeded(); this.SetIndex(0, this.Capacity); this.leak = LeakDetector.Open(this); }
public CompositeByteBuffer( IByteBufferAllocator allocator, int maxNumComponents, IEnumerable<IByteBuffer> buffers) : base(int.MaxValue) { Contract.Requires(allocator != null); Contract.Requires(maxNumComponents >= 2); this.allocator = allocator; this.maxNumComponents = maxNumComponents; this.AddComponents0(0, buffers); this.ConsolidateIfNeeded(); this.SetIndex(0, this.Capacity); this.leak = LeakDetector.Open(this); }
internal void Report(IResourceLeak resourceLeak) { string records = resourceLeak.ToString(); if (this.reportedLeaks.TryAdd(records, true)) { if (records.Length == 0) { Logger.Error("LEAK: {}.Release() was not called before it's garbage-collected. " + "Enable advanced leak reporting to find out where the leak occurred. " + "To enable advanced leak reporting, " + "set environment variable {} to {} or set {}.Level in code. " + "See http://netty.io/wiki/reference-counted-objects.html for more information.", this.resourceType, PropLevel, DetectionLevel.Advanced.ToString().ToLowerInvariant(), StringUtil.SimpleClassName(this)); } else { Logger.Error( "LEAK: {}.release() was not called before it's garbage-collected. " + "See http://netty.io/wiki/reference-counted-objects.html for more information.{}", this.resourceType, records); } } }
internal SimpleLeakAwareByteBuffer(IByteBuffer buf, IResourceLeak leak) : base(buf) { this.leak = leak; }
internal LeakAwareByteBuffer(IArrayBuffer <T> buffer, IResourceLeak leak) : base(buffer) { this.leak = leak; this.leak.Record(); }
internal AdvancedLeakAwareByteBuf(IByteBuffer buf, IResourceLeak leak) : base(buf) { this.leak = leak; }
internal AdvancedLeakAwareArrayBuffer(IArrayBuffer <T> buf, IResourceLeak leak) : base(buf) { this.leak = leak; }
internal AdvancedLeakAwareByteBuffer(IByteBuffer buf, IResourceLeak leak) : base(buf, leak) { }