12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- /*---------------------------------------------------------------------------------------------
- * 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();
- }
- }
- }
|