Esempio n. 1
0
 private void deSerialize(AutoCSer.BinarySerialize.DeSerializer deSerializer)
 {
     if (deSerializer.CheckNullValue() != 0)
     {
         byte *read = deSerializer.Read;
         deSerializer.DeSerializeTcpServer(ref LoadData, read + sizeof(int), *(int *)read);
         deSerializer.MoveRead(LoadData.Length + sizeof(int));
     }
 }
Esempio n. 2
0
        internal static void GetQueryData(AutoCSer.BinarySerialize.DeSerializer deSerializer, ref SubArray <byte> queryData)
        {
            byte *read = deSerializer.Read;

            if (deSerializer.MoveRead(*(int *)read))
            {
                deSerializer.DeSerializeTcpServer(ref queryData, read, *(int *)read);
            }
        }
Esempio n. 3
0
        private void deSerialize(AutoCSer.BinarySerialize.DeSerializer deSerializer)
        {
            if (deSerializer.GetBuffer(ref Buffer))
            {
                int size;

                fixed(byte *bufferFixed = Buffer.BufferArray) size = *(int *)(bufferFixed + Buffer.StartIndex);

                if (deSerializer.MoveRead(size))
                {
                    Buffer = Buffer.GetSub(sizeof(int), size - sizeof(int));
                }
            }
            else
            {
                deSerializer.MoveRead(-1);
            }
        }
Esempio n. 4
0
        private void deSerialize(AutoCSer.BinarySerialize.DeSerializer deSerializer)
        {
            byte *read = deSerializer.Read;

            if (deSerializer.MoveRead((*(int *)read + (sizeof(int) + 3)) & (int.MaxValue - 3)))
            {
                deSerializer.DeSerializeTcpServer(ref Data, read + sizeof(int), *(int *)read);
            }
        }
Esempio n. 5
0
        private unsafe void deSerialize(AutoCSer.BinarySerialize.DeSerializer deSerializer)
        {
            switch (deSerializer.TypeDeSerialize <int>())
            {
            case 1: Value = null; return;

            case 2: Value = string.Empty; return;

            default: deSerializer.MoveRead(-1); return;
            }
        }
Esempio n. 6
0
        /// <summary>
        /// 获取操作数据
        /// </summary>
        /// <param name="deSerializer"></param>
        /// <returns></returns>
        internal static Buffer GetOperationData(AutoCSer.BinarySerialize.DeSerializer deSerializer)
        {
            byte *read = deSerializer.Read;
            int   size = *(int *)read;

            if (deSerializer.MoveRead(size))
            {
                Buffer buffer = BufferCount.GetBuffer(size);
                deSerializer.CopyTo(read, ref buffer.Array);
                return(buffer);
            }
            return(null);
        }
Esempio n. 7
0
        private static unsafe void deSerialize(AutoCSer.BinarySerialize.DeSerializer deSerializer, ref CustomClass value)
        {
            byte *read = deSerializer.CustomRead;

            if (deSerializer.MoveReadAny(sizeof(int)))
            {
                switch (*(int *)read)
                {
                case 1: value = new CustomClass {
                        Value = null
                }; return;

                case 2: value = new CustomClass {
                        Value = string.Empty
                }; return;

                default: deSerializer.MoveRead(-1); return;
                }
            }
        }
Esempio n. 8
0
        private unsafe void deSerialize(AutoCSer.BinarySerialize.DeSerializer deSerializer)
        {
            byte *read = deSerializer.Read;
            int   size = *(int *)read;

            if (deSerializer.MoveRead(size))
            {
                Identity = new ShortPathIdentity(read + Serializer.HeaderSize);
                int bufferSize = size + Identity.PacketSize - ShortPathIdentity.SerializeSize;
                if (bufferSize >= Serializer.HeaderSize + IndexIdentity.SerializeSize)
                {
                    Buffer = BufferCount.GetBuffer(bufferSize);
                    fixed(byte *bufferFixed = Buffer.Array.Array)
                    {
                        byte *start = bufferFixed + Buffer.Array.Start;

                        *(int *)start = Buffer.Array.Length;
                        *(uint *)(start + sizeof(int)) = *(uint *)(read + sizeof(int));
                    }

                    deSerializer.CopyTo(read + (Serializer.HeaderSize + ShortPathIdentity.SerializeSize), ref Buffer.Array, Serializer.HeaderSize + Identity.PacketSize);
                }
            }
        }