Esempio n. 1
0
        private void DecodeInsertTablePacket(byte[] resPacket, out PDBErrorCode retVal)
        {
            ProtoHeader proHdr = new ProtoHeader(resPacket);

            InsertResult.Clear();
            SuccessCount = 0;
            retVal       = (PDBErrorCode)proHdr.GetReturnVal();
            if (retVal == PDBErrorCode.PdbE_OK)
            {
                SuccessCount = (int)proHdr.GetRecordCnt();
                for (int i = 0; i < SuccessCount; i++)
                {
                    InsertResult.Add(PDBErrorCode.PdbE_OK);
                }
            }
            else if (retVal == PDBErrorCode.PdbE_INSERT_PART_ERROR)
            {
                int offset = ProtoHeader.kHeadLen;
                int recCnt = (int)proHdr.GetRecordCnt();
                for (int i = 0; i < recCnt; i++)
                {
                    long         recErrVal  = IntTool.DecodeZigZag64(IntTool.ReadRawVarint64(resPacket, ref offset));
                    PDBErrorCode recErrCode = (PDBErrorCode)(recErrVal);
                    if (recErrCode == PDBErrorCode.PdbE_OK)
                    {
                        SuccessCount++;
                    }

                    InsertResult.Add(recErrCode);
                }
            }
        }
Esempio n. 2
0
        private void DecodeInsertPacket(byte[] resPacket, out PDBErrorCode retVal)
        {
            ProtoHeader proHdr = new ProtoHeader(resPacket);

            if (resPacket.Count() != ProtoHeader.kHeadLen)
            {
                retVal = PDBErrorCode.PdbE_PACKET_ERROR;
                return;
            }

            SuccessCount = (int)proHdr.GetRecordCnt();
            InsertResult.Clear();
            for (int i = 0; i < SuccessCount; i++)
            {
                InsertResult.Add(PDBErrorCode.PdbE_OK);
            }

            retVal = (PDBErrorCode)proHdr.GetReturnVal();
            if (retVal != PDBErrorCode.PdbE_OK)
            {
                InsertResult.Add(retVal);
            }
        }