📄 controlblock.cs
字号:
namespace Imps.Client.Core.P2P.FileTransportor
{
using NCindy;
using NCindy.Packet;
using System;
using System.Text;
internal class ControlBlock : TransportBlock
{
private readonly short blockID;
private string blockMd5;
private byte transportingID;
public ControlBlock(FileChunk block)
{
base.chunk = block;
this.blockID = block.BlockID;
}
public ControlBlock(IPacket packet)
{
byte[] innerByteArray = packet.Content.GetInnerByteArray();
this.transportingID = innerByteArray[1];
}
protected override IPacket FillBlock()
{
this.blockMd5 = base.chunk.BlockMD5;
this.transportingID = base.chunk.FileInfo.TransportingID;
byte[] bytes = Encoding.UTF8.GetBytes(this.blockMd5);
byte[] dst = new byte[4 + bytes.Length];
dst[0] = 1;
dst[1] = this.transportingID;
Buffer.BlockCopy(BitConverter.GetBytes(base.chunk.BlockID), 0, dst, 2, 2);
return new DefaultPacket(dst);
}
public short BlockID
{
get
{
return this.blockID;
}
}
public string BlockMD5
{
get
{
return this.blockMd5;
}
}
public byte TransportingID
{
get
{
return this.transportingID;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -