private void serialize(AutoCSer.BinarySerializer serializer) { UnmanagedStream stream = serializer.Stream; int valueLength = Data.Length; byte * data = stream.GetBeforeMove((valueLength + (sizeof(int) + 3)) & (int.MaxValue - 3)); *(int *)data = valueLength; fixed(byte *dataFixed = Data.GetFixedBuffer()) AutoCSer.Memory.Common.CopyNotNull(dataFixed + Data.Start, data += sizeof(int), valueLength); Reader.Next(); }
private void serialize(AutoCSer.BinarySerialize.Serializer serializer) { UnmanagedStream stream = serializer.Stream; int valueLength = Data.Length, size = (valueLength + (sizeof(int) + 3)) & (int.MaxValue - 3); byte * data = stream.GetPrepSizeCurrent(size); *(int *)data = valueLength; fixed(byte *dataFixed = Data.Array) AutoCSer.Memory.CopyNotNull(dataFixed + Data.Start, data += sizeof(int), valueLength); stream.ByteSize += size; Reader.Next(); }