HaoYueNet/NetLib/HaoYueNet.ServerNetwork/NetWork/SourceMode/TokenMsgPool_SourceMode.cs
2024-08-23 16:18:37 +08:00

51 lines
1.1 KiB
C#

namespace HaoYueNet.ServerNetwork
{
public class TokenWithMsg_SourceMode
{
public AsyncUserToken token;
public byte[] data;
public bool bHeartbeat;
}
public class TokenMsgPool_SourceMode
{
Queue<TokenWithMsg_SourceMode> msg_pool;
public TokenMsgPool_SourceMode(int capacity)
{
msg_pool = new Queue<TokenWithMsg_SourceMode>(capacity);
}
/// <summary>
/// 向 Queue 的末尾添加一个对象。
/// </summary>
/// <param name="item"></param>
public void Enqueue(TokenWithMsg_SourceMode item)
{
lock (msg_pool)
{
msg_pool.Enqueue(item);
}
}
//移除并返回在 Queue 的开头的对象。
public TokenWithMsg_SourceMode Dequeue()
{
lock (msg_pool)
{
return msg_pool.Dequeue();
}
}
public int Count
{
get { return msg_pool.Count; }
}
public void Clear()
{
msg_pool.Clear();
}
}
}