/*--------------------------------------------------------------------------------------------- * 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 Deserializer { private readonly BinaryReader _reader; public Deserializer(byte[] buffer) { _reader = new BinaryReader(new MemoryStream(buffer)); } public int ReadInt32() { return _reader.ReadInt32(); } public string ReadString() { var length = ReadInt32(); return length > 0 ? Encoding.UTF8.GetString(_reader.ReadBytes(length)) : ""; } public bool CanReadMore() { return _reader.BaseStream.Position < _reader.BaseStream.Length; } } }