using SuperSocket.ProtoBase;
using System;
using System.Buffers;
using System.Collections.Generic;
using System.Text;
using System.Linq;
namespace IStation.Server
{
///
///
///
internal class PipeLineFilter : FixedHeaderPipelineFilter
{
///
///
///
public PipeLineFilter() : base(20) { }
///
///
///
protected override int GetBodyLengthFromHeader(ref ReadOnlySequence buffer)
{
if (buffer.Length < 20)
return default;
return BitConverter.ToInt32(buffer.ToArray(), 16);
}
///
/// 将数据包解析成 MyPackage 的实例
///
protected override PackageInfo DecodePackage(ref ReadOnlySequence buffer)
{
if (buffer.Length < 20)
return default;
var reader = buffer.ToArray();
return new PackageInfo(reader);
}
}
}