97 lines
3.1 KiB
C#
97 lines
3.1 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace AlicizaX.Runtime
|
|
{
|
|
/// <summary>
|
|
/// 引用池信息。
|
|
/// </summary>
|
|
[StructLayout(LayoutKind.Auto)]
|
|
public readonly struct ReferencePoolInfo
|
|
{
|
|
private readonly Type m_Type;
|
|
private readonly int m_UnusedReferenceCount;
|
|
private readonly int m_UsingReferenceCount;
|
|
private readonly int m_AcquireReferenceCount;
|
|
private readonly int m_ReleaseReferenceCount;
|
|
private readonly int m_AddReferenceCount;
|
|
private readonly int m_RemoveReferenceCount;
|
|
|
|
/// <summary>
|
|
/// 初始化引用池信息的新实例。
|
|
/// </summary>
|
|
/// <param name="type">引用池类型。</param>
|
|
/// <param name="unusedReferenceCount">未使用引用数量。</param>
|
|
/// <param name="usingReferenceCount">正在使用引用数量。</param>
|
|
/// <param name="acquireReferenceCount">获取引用数量。</param>
|
|
/// <param name="releaseReferenceCount">归还引用数量。</param>
|
|
/// <param name="addReferenceCount">增加引用数量。</param>
|
|
/// <param name="removeReferenceCount">移除引用数量。</param>
|
|
public ReferencePoolInfo(Type type, int unusedReferenceCount, int usingReferenceCount, int acquireReferenceCount, int releaseReferenceCount, int addReferenceCount, int removeReferenceCount)
|
|
{
|
|
m_Type = type;
|
|
m_UnusedReferenceCount = unusedReferenceCount;
|
|
m_UsingReferenceCount = usingReferenceCount;
|
|
m_AcquireReferenceCount = acquireReferenceCount;
|
|
m_ReleaseReferenceCount = releaseReferenceCount;
|
|
m_AddReferenceCount = addReferenceCount;
|
|
m_RemoveReferenceCount = removeReferenceCount;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取引用池类型。
|
|
/// </summary>
|
|
public Type Type
|
|
{
|
|
get { return m_Type; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取未使用引用数量。
|
|
/// </summary>
|
|
public int UnusedReferenceCount
|
|
{
|
|
get { return m_UnusedReferenceCount; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取正在使用引用数量。
|
|
/// </summary>
|
|
public int UsingReferenceCount
|
|
{
|
|
get { return m_UsingReferenceCount; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取获取引用数量。
|
|
/// </summary>
|
|
public int AcquireReferenceCount
|
|
{
|
|
get { return m_AcquireReferenceCount; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取归还引用数量。
|
|
/// </summary>
|
|
public int ReleaseReferenceCount
|
|
{
|
|
get { return m_ReleaseReferenceCount; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取增加引用数量。
|
|
/// </summary>
|
|
public int AddReferenceCount
|
|
{
|
|
get { return m_AddReferenceCount; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取移除引用数量。
|
|
/// </summary>
|
|
public int RemoveReferenceCount
|
|
{
|
|
get { return m_RemoveReferenceCount; }
|
|
}
|
|
}
|
|
} |