filedatacodec.cs

来自「破解的飞信源代码」· CS 代码 · 共 29 行

CS
29
字号
namespace Imps.Client.Core.P2P.FileTransportor
{
    using NCindy;
    using NCindy.Buffer;
    using NCindy.Packet;
    using System;

    internal class FileDataCodec : IPacketEncoder, IPacketDecoder
    {
        public object Decode(ISession session, IPacket packet)
        {
            IBuffer buffer = BufferFactory.GetBuffer(packet.Content.Limit);
            Buffer.BlockCopy(packet.Content.GetInnerByteArray(), 0, buffer.GetInnerByteArray(), 0, packet.Content.Limit);
            packet.Content.Position = packet.Content.Limit;
            return buffer;
        }

        public IPacket Encode(ISession session, object obj)
        {
            if (obj is IBuffer)
            {
                return new DefaultPacket((IBuffer) obj);
            }
            return null;
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?