using System;
using System.Runtime.InteropServices;
namespace AlicizaX
{
///
/// 内存池信息。
///
[StructLayout(LayoutKind.Auto)]
public struct MemoryPoolInfo
{
private readonly Type _type;
private readonly int _unusedMemoryCount;
private readonly int _usingMemoryCount;
private readonly int _acquireMemoryCount;
private readonly int _releaseMemoryCount;
private readonly int _addMemoryCount;
private readonly int _removeMemoryCount;
///
/// 初始化内存池信息的新实例。
///
/// 内存池类型。
/// 未使用内存对象数量。
/// 正在使用内存对象数量。
/// 获取内存对象数量。
/// 归还内存对象数量。
/// 增加内存对象数量。
/// 移除内存对象数量。
public MemoryPoolInfo(Type type, int unusedMemoryCount, int usingMemoryCount, int acquireMemoryCount, int releaseMemoryCount, int addMemoryCount, int removeMemoryCount)
{
_type = type;
_unusedMemoryCount = unusedMemoryCount;
_usingMemoryCount = usingMemoryCount;
_acquireMemoryCount = acquireMemoryCount;
_releaseMemoryCount = releaseMemoryCount;
_addMemoryCount = addMemoryCount;
_removeMemoryCount = removeMemoryCount;
}
///
/// 获取内存池类型。
///
public Type Type
{
get
{
return _type;
}
}
///
/// 获取未使用内存对象数量。
///
public int UnusedMemoryCount
{
get
{
return _unusedMemoryCount;
}
}
///
/// 获取正在使用内存对象数量。
///
public int UsingMemoryCount
{
get
{
return _usingMemoryCount;
}
}
///
/// 获取获取内存对象数量。
///
public int AcquireMemoryCount
{
get
{
return _acquireMemoryCount;
}
}
///
/// 获取归还内存对象数量。
///
public int ReleaseMemoryCount
{
get
{
return _releaseMemoryCount;
}
}
///
/// 获取增加内存对象数量。
///
public int AddMemoryCount
{
get
{
return _addMemoryCount;
}
}
///
/// 获取移除内存对象数量。
///
public int RemoveMemoryCount
{
get
{
return _removeMemoryCount;
}
}
}
}