You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
955 B
37 lines
955 B
/*--------------------------------------------------------------------------------------------- |
|
* 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; |
|
} |
|
} |
|
}
|
|
|