| /*--------------------------------------------------------------------------------------------- | |
| * Copyright (c) Microsoft Corporation. All rights reserved. | |
| * Licensed under the MIT License. See License.txt in the project root for license information. | |
| *--------------------------------------------------------------------------------------------*/ | |
| using System.IO; | |
| using System.Text; | |
| namespace Microsoft.Unity.VisualStudio.Editor.Messaging | |
| { | |
| internal class Serializer | |
| { | |
| private readonly MemoryStream _stream; | |
| private readonly BinaryWriter _writer; | |
| public Serializer() | |
| { | |
| _stream = new MemoryStream(); | |
| _writer = new BinaryWriter(_stream); | |
| } | |
| public void WriteInt32(int i) | |
| { | |
| _writer.Write(i); | |
| } | |
| public void WriteString(string s) | |
| { | |
| var bytes = Encoding.UTF8.GetBytes(s ?? ""); | |
| if (bytes.Length > 0) | |
| { | |
| _writer.Write(bytes.Length); | |
| _writer.Write(bytes); | |
| } | |
| else | |
| _writer.Write(0); | |
| } | |
| public byte[] Buffer() | |
| { | |
| return _stream.ToArray(); | |
| } | |
| } | |
| } | |