HaoYueNet/NetLib/HaoYueNet.ServerNetworkNet4x/NetWork/MemoryStreamPool.cs
2024-04-14 20:34:55 +08:00

44 lines
896 B
C#

using System;
using System.Collections.Generic;
using System.IO;
namespace HaoYueNet.ServerNetworkNet4x
{
public class MemoryStreamPool
{
Stack<MemoryStream> m_pool;
public MemoryStreamPool(int capacity)
{
m_pool = new Stack<MemoryStream>(capacity);
}
public void Push(MemoryStream item)
{
if (item == null) { throw new ArgumentNullException("Items added to a MemoryStream cannot be null"); }
lock (m_pool)
{
m_pool.Push(item);
}
}
public MemoryStream Pop()
{
lock (m_pool)
{
return m_pool.Pop();
}
}
public int Count
{
get { return m_pool.Count; }
}
public void Clear()
{
m_pool.Clear();
}
}
}