Ejemplo n.º 1
0
        /// <summary>
        /// Disposes the specified buffer.
        /// </summary>
        /// <param name="buffer">The buffer.</param>
        /// <param name="memoryManager">The memory manager.</param>
        public static void Dispose(ref byte[] buffer, MemoryBufferManager memoryManager)
        {
            var obj = Interlocked.Exchange(ref buffer, null);

            if (obj != null && memoryManager != null)
            {
                memoryManager.ReturnBuffer(obj);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Disposes the specified buffers.
        /// </summary>
        /// <param name="buffers">The buffers.</param>
        /// <param name="memoryManager">The memory manager.</param>
        internal static void Dispose(ref List <byte[]> buffers, MemoryBufferManager memoryManager)
        {
            var obj = Interlocked.Exchange(ref buffers, null);

            if (obj != null && memoryManager != null)
            {
                foreach (var buffer in obj)
                {
                    memoryManager.ReturnBuffer(buffer);
                }
            }
        }