示例#1
0
 static public void 바이트_To_BitArray()
 {
     Assert.IsTrue(SCByteHelper.ConvertByte_To_Int(1) == 1);
     Assert.IsTrue(SCByteHelper.ConvertByte_To_Int(1, 8, 1) == 0);
     Assert.IsTrue(SCByteHelper.ConvertByte_To_Int(2, 8, 0) == 2);
     Assert.IsTrue(SCByteHelper.ConvertByte_To_Int(127, 8, 2) == (127 - 3));
 }
示例#2
0
    public IEnumerator 구조체에서_바이트변환_다시_구조체로변환_테스트()
    {
        SPacketTest_Struct pPacket1 = new SPacketTest_Struct(1, "테스트Test123!@#");
        SPacketTest_Struct pPacket2 = new SPacketTest_Struct();

        Assert.AreNotEqual(pPacket1, pPacket2);

        byte[] arrData = SCByteHelper.ConvertByteArray(pPacket1);
        SCByteHelper.ConvertPacket(arrData, out pPacket2);

        Assert.AreEqual(pPacket1, pPacket2);

        yield return(null);
    }
示例#3
0
    private byte[] CombineBuffer_Header_And_Packet(INetworkPacket pPacket, byte[] arrByte)
    {
        bool          bIsGenerate;
        Packet_Header pPacketHeader;

        OnGeneratePacketHeader(pPacket, out bIsGenerate, out pPacketHeader);

        _pBufferSend.Clear();
        if (bIsGenerate)
        {
            pPacketHeader.INetworkPacketHeader_Set_Header(arrByte.Length, pPacket.INetworkPacket_Get_PacketID());
            _pBufferSend.Enqueue(SCByteHelper.ConvertByteArray(pPacketHeader));
        }
        _pBufferSend.Enqueue(SCByteHelper.ConvertByteArray(pPacket));

        return(_pBufferSend.Dequeue_OrNull(_pBufferSend.Count));
    }
示例#4
0
    private byte[] CombineBuffer_Header_And_Packet <Packet>(Packet pPacket, Packet_Header pPacketHeader) where Packet : INetworkPacket
    {
        bool bIsGenerate = pPacketHeader != null;

        if (bIsGenerate == false)
        {
            OnGeneratePacketHeader(pPacket, out bIsGenerate, out pPacketHeader);
        }

        _pBufferSend.Clear();
        if (bIsGenerate)
        {
            pPacketHeader.INetworkPacketHeader_Set_Header(SCByteHelper.SizeOf <Packet>(), pPacket.INetworkPacket_Get_PacketID());
            _pBufferSend.Enqueue(SCByteHelper.ConvertByteArray(pPacketHeader));
        }
        _pBufferSend.Enqueue(SCByteHelper.ConvertByteArray(pPacket));

        return(_pBufferSend.Dequeue_OrNull(_pBufferSend.Count));
    }
示例#5
0
    public void 링버퍼_인큐_디큐_테스트()
    {
        SPacketTest_Struct pPacketTest  = new SPacketTest_Struct(1, "인큐_디큐_테스트");
        SPacketTest_Struct pPacketTest2 = new SPacketTest_Struct(2, "더미데이터");

        byte[] arrPacketData = SCByteHelper.ConvertByteArray(pPacketTest);
        int    iDataSize     = arrPacketData.Length;

        var pBuffer = new CircularBuffer <byte>(10240);

        pBuffer.Enqueue(arrPacketData);

        Assert.AreNotEqual(pPacketTest.iValue, pPacketTest2.iValue);
        Assert.AreNotEqual(pPacketTest.strValue, pPacketTest2.strValue);

        byte[] arrPacketData2 = pBuffer.Dequeue_OrNull(iDataSize);
        arrPacketData2.Convert_ToStruct(out pPacketTest2);

        Assert.AreEqual(pPacketTest.iValue, pPacketTest2.iValue);
        Assert.AreEqual(pPacketTest.strValue, pPacketTest2.strValue);
    }
示例#6
0
 private byte[] CombineBuffer_Header_And_Packet <Packet>(Packet pPacket) where Packet : INetworkPacket
 {
     return(CombineBuffer_Header_And_Packet(pPacket, SCByteHelper.ConvertByteArray(pPacket)));
 }