From e9ea621b93fbb58d9edfca8375918791637bbd52 Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 30 Dec 2020 20:59:04 +0800 Subject: +init --- .../Impostor.Api/Net/Messages/IMessageReader.cs | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 Impostor-dev/src/Impostor.Api/Net/Messages/IMessageReader.cs (limited to 'Impostor-dev/src/Impostor.Api/Net/Messages/IMessageReader.cs') diff --git a/Impostor-dev/src/Impostor.Api/Net/Messages/IMessageReader.cs b/Impostor-dev/src/Impostor.Api/Net/Messages/IMessageReader.cs new file mode 100644 index 0000000..87c06c4 --- /dev/null +++ b/Impostor-dev/src/Impostor.Api/Net/Messages/IMessageReader.cs @@ -0,0 +1,68 @@ +using System; + +namespace Impostor.Api.Net.Messages +{ + public interface IMessageReader : IDisposable + { + /// + /// Gets the tag of the message. + /// + byte Tag { get; } + + /// + /// Gets the buffer of the message. + /// + byte[] Buffer { get; } + + /// + /// Gets the offset of our current in the entire . + /// + int Offset { get; } + + /// + /// Gets the current position of the reader. + /// + int Position { get; } + + /// + /// Gets the length of the buffer. + /// + int Length { get; } + + IMessageReader ReadMessage(); + + bool ReadBoolean(); + + sbyte ReadSByte(); + + byte ReadByte(); + + ushort ReadUInt16(); + + short ReadInt16(); + + uint ReadUInt32(); + + int ReadInt32(); + + float ReadSingle(); + + string ReadString(); + + ReadOnlyMemory ReadBytesAndSize(); + + ReadOnlyMemory ReadBytes(int length); + + int ReadPackedInt32(); + + uint ReadPackedUInt32(); + + void CopyTo(IMessageWriter writer); + + void Seek(int position); + + void RemoveMessage(IMessageReader message); + + IMessageReader Copy(int offset = 0); + } +} -- cgit v1.1-26-g67d0