blob: 07755f6b0f68cd31c57730fcd12c66a7173b0b93 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
using System.IO;
using System.Text;
namespace Impostor.Server.Recorder
{
public class PacketSerializationContext
{
private const int InitialStreamSize = 0x100;
private const int MaximumStreamSize = 0x100000;
private MemoryStream _memory;
private BinaryWriter _writer;
public MemoryStream Stream
{
get
{
if (_memory == null)
{
_memory = new MemoryStream(InitialStreamSize);
}
return _memory;
}
private set => _memory = value;
}
public BinaryWriter Writer
{
get
{
if (_writer == null)
{
_writer = new BinaryWriter(Stream, Encoding.UTF8, true);
}
return _writer;
}
private set => _writer = value;
}
public void Reset()
{
if (Stream.Capacity > MaximumStreamSize)
{
Stream = null;
Writer = null;
}
else
{
Stream.Position = 0L;
Stream.SetLength(0L);
}
}
}
}
|