private void deSerialize(AutoCSer.BinaryDeSerializer deSerializer) { if (deSerializer.CheckNullValue() != 0) { byte *read = deSerializer.Read; deSerializer.DeSerializeTcpServer(ref LoadData, read + sizeof(int), *(int *)read); deSerializer.MoveRead(LoadData.Length + sizeof(int)); } }
private void deSerialize(AutoCSer.BinaryDeSerializer 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); } }
internal static void GetQueryData(AutoCSer.BinaryDeSerializer deSerializer, ref SubArray <byte> queryData) { byte *read = deSerializer.Read; if (deSerializer.MoveRead(*(int *)read)) { deSerializer.DeSerializeTcpServer(ref queryData, read, *(int *)read); } }
private void deSerialize(AutoCSer.BinaryDeSerializer 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); } }
private unsafe void deSerialize(AutoCSer.BinaryDeSerializer deSerializer) { switch (deSerializer.TypeDeSerialize <int>()) { case 1: Value = null; return; case 2: Value = string.Empty; return; default: deSerializer.MoveRead(-1); return; } }
/// <summary> /// 获取操作数据 /// </summary> /// <param name="deSerializer"></param> /// <returns></returns> internal static Buffer GetOperationData(AutoCSer.BinaryDeSerializer 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); }
private static unsafe void deSerialize(AutoCSer.BinaryDeSerializer 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; } } }
private unsafe void deSerialize(AutoCSer.BinaryDeSerializer 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.GetFixedBuffer()) { 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); } } }