60 lines
1.3 KiB
C#
60 lines
1.3 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
|
|||
|
namespace NoSugarNet.ServerCore.Common
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 压缩适配器
|
|||
|
/// </summary>
|
|||
|
public class CompressAdapter
|
|||
|
{
|
|||
|
IDataCompress mIDataCompress;
|
|||
|
public CompressAdapter(ushort type)
|
|||
|
{
|
|||
|
switch (type)
|
|||
|
{
|
|||
|
//不压缩
|
|||
|
case 0:
|
|||
|
mIDataCompress = new NoCompress();
|
|||
|
break;
|
|||
|
//TODO 其他压缩对比
|
|||
|
default:
|
|||
|
mIDataCompress = new NoCompress();
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
public byte[] Compress(byte[] data)
|
|||
|
{
|
|||
|
return mIDataCompress.Compress(data);
|
|||
|
}
|
|||
|
public byte[] Decompress(byte[] data)
|
|||
|
{
|
|||
|
return mIDataCompress.Decompress(data);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
public interface IDataCompress
|
|||
|
{
|
|||
|
public byte[] Compress(byte[] data);
|
|||
|
public byte[] Decompress(byte[] data);
|
|||
|
}
|
|||
|
|
|||
|
public class NoCompress : IDataCompress
|
|||
|
{
|
|||
|
public byte[] Compress(byte[] data)
|
|||
|
{
|
|||
|
return data;
|
|||
|
}
|
|||
|
public byte[] Decompress(byte[] data)
|
|||
|
{
|
|||
|
return data;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|