transportblock.cs
来自「破解的飞信源代码」· CS 代码 · 共 47 行
CS
47 行
namespace Imps.Client.Core.P2P.FileTransportor
{
using NCindy;
using System;
public abstract class TransportBlock
{
protected FileChunk chunk;
public const byte CtrlTypeMask = 1;
protected byte[] data;
public const byte DataTypeMask = 0;
public const int Header_Size = 4;
protected const byte TransportingID_Index = 1;
protected const byte TypeByteIndex = 0;
protected uint typeMask;
public TransportBlock()
{
}
public TransportBlock(FileChunk chunk)
{
this.chunk = chunk;
}
public static TransportBlock CreateBlock(IPacket packet)
{
switch (packet.Content.GetInnerByteArray()[0])
{
case 0:
return new DataBlock(packet, BitConverter.ToInt32(packet.Content.GetInnerByteArray(), 4));
case 1:
return new ControlBlock(packet);
}
return null;
}
protected abstract IPacket FillBlock();
public IPacket GetPacket()
{
return this.FillBlock();
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?