public void SerializeSourceText(ITemporaryStorageWithName storage, SourceText text, ObjectWriter writer, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); writer.WriteInt32((int)text.ChecksumAlgorithm); _hostSerializationService.WriteTo(text.Encoding, writer, cancellationToken); // TODO: refactor this part in its own abstraction (Bits) that has multiple sub types // rather than using enums if (storage != null && storage.Name != null) { writer.WriteInt32((int)SerializationKinds.MemoryMapFile); writer.WriteString(storage.Name); writer.WriteInt64(storage.Size); return; } writer.WriteInt32((int)SerializationKinds.Bits); text.WriteTo(writer, cancellationToken); }
public void SerializeSourceText(ITemporaryStorageWithName storage, SourceText text, ObjectWriter writer, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); writer.WriteInt32((int)text.ChecksumAlgorithm); writer.WriteString(text.Encoding?.WebName); // TODO: refactor this part in its own abstraction (Bits) that has multiple sub types // rather than using enums if (storage != null && storage.Name != null) { writer.WriteInt32((int)SerializationKinds.MemoryMapFile); writer.WriteString(storage.Name); writer.WriteInt64(storage.Size); return; } writer.WriteInt32((int)SerializationKinds.Bits); writer.WriteString(text.ToString()); }