Files
Impostor/src/Impostor.Server/Net/Response/MessageBase.cs
T
2020-09-21 01:28:19 +02:00

32 lines
746 B
C#

using System;
using Hazel;
namespace Impostor.Server.Net.Response
{
public abstract class MessageBase : IDisposable
{
private readonly MessageWriter _writer;
private readonly MessageFlag _flag;
protected MessageBase(SendOption option, MessageFlag flag)
{
_writer = MessageWriter.Get(option);
_flag = flag;
}
public MessageWriter Write()
{
_writer.StartMessage((byte) _flag);
WriteMessage(_writer);
_writer.EndMessage();
return _writer;
}
protected abstract void WriteMessage(MessageWriter writer);
public void Dispose()
{
_writer.Dispose();
}
}
}