Skip to content

Commit 07b8878

Browse files
committed
Move PayloadWriter to its own file.
1 parent 3e72613 commit 07b8878

File tree

2 files changed

+63
-61
lines changed

2 files changed

+63
-61
lines changed
Lines changed: 1 addition & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
1-
using System;
2-
using System.IO;
3-
using System.Text;
4-
5-
namespace MySql.Data.Serialization
1+
namespace MySql.Data.Serialization
62
{
73
internal sealed class HandshakeResponse41Packet
84
{
@@ -55,60 +51,4 @@ public static byte[] Create(InitialHandshakePacket handshake, ConnectionSettings
5551
return writer.ToBytes();
5652
}
5753
}
58-
59-
class PayloadWriter
60-
{
61-
public PayloadWriter()
62-
{
63-
m_stream = new MemoryStream();
64-
m_writer = new BinaryWriter(m_stream);
65-
}
66-
67-
public void WriteByte(byte value) => m_writer.Write(value);
68-
public void WriteInt32(int value) => m_writer.Write(value);
69-
public void WriteUInt32(uint value) => m_writer.Write(value);
70-
public void Write(byte[] value) => m_writer.Write(value);
71-
public void Write(ArraySegment<byte> value) => m_writer.Write(value.Array, value.Offset, value.Count);
72-
73-
public void WriteLengthEncodedInteger(ulong value)
74-
{
75-
if (value < 251)
76-
{
77-
m_writer.Write((byte) value);
78-
}
79-
else if (value < 65536)
80-
{
81-
m_writer.Write((byte) 0xfc);
82-
m_writer.Write((ushort) value);
83-
}
84-
else if (value < 16777216)
85-
{
86-
m_writer.Write((byte) 0xfd);
87-
m_writer.Write((byte) (value & 0xFF));
88-
m_writer.Write((byte) ((value >> 8) & 0xFF));
89-
m_writer.Write((byte) ((value >> 16) & 0xFF));
90-
}
91-
else
92-
{
93-
m_writer.Write((byte) 0xfe);
94-
m_writer.Write(value);
95-
}
96-
}
97-
98-
public void WriteNullTerminatedString(string value)
99-
{
100-
var bytes = Encoding.UTF8.GetBytes(value);
101-
m_writer.Write(bytes);
102-
m_writer.Write((byte) 0);
103-
}
104-
105-
public byte[] ToBytes()
106-
{
107-
m_writer.Flush();
108-
return m_stream.ToArray();
109-
}
110-
111-
readonly MemoryStream m_stream;
112-
readonly BinaryWriter m_writer;
113-
}
11454
}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
using System;
2+
using System.IO;
3+
using System.Text;
4+
5+
namespace MySql.Data.Serialization
6+
{
7+
internal sealed class PayloadWriter
8+
{
9+
public PayloadWriter()
10+
{
11+
m_stream = new MemoryStream();
12+
m_writer = new BinaryWriter(m_stream);
13+
}
14+
15+
public void WriteByte(byte value) => m_writer.Write(value);
16+
public void WriteInt32(int value) => m_writer.Write(value);
17+
public void WriteUInt32(uint value) => m_writer.Write(value);
18+
public void Write(byte[] value) => m_writer.Write(value);
19+
public void Write(ArraySegment<byte> value) => m_writer.Write(value.Array, value.Offset, value.Count);
20+
21+
public void WriteLengthEncodedInteger(ulong value)
22+
{
23+
if (value < 251)
24+
{
25+
m_writer.Write((byte) value);
26+
}
27+
else if (value < 65536)
28+
{
29+
m_writer.Write((byte) 0xfc);
30+
m_writer.Write((ushort) value);
31+
}
32+
else if (value < 16777216)
33+
{
34+
m_writer.Write((byte) 0xfd);
35+
m_writer.Write((byte) (value & 0xFF));
36+
m_writer.Write((byte) ((value >> 8) & 0xFF));
37+
m_writer.Write((byte) ((value >> 16) & 0xFF));
38+
}
39+
else
40+
{
41+
m_writer.Write((byte) 0xfe);
42+
m_writer.Write(value);
43+
}
44+
}
45+
46+
public void WriteNullTerminatedString(string value)
47+
{
48+
var bytes = Encoding.UTF8.GetBytes(value);
49+
m_writer.Write(bytes);
50+
m_writer.Write((byte) 0);
51+
}
52+
53+
public byte[] ToBytes()
54+
{
55+
m_writer.Flush();
56+
return m_stream.ToArray();
57+
}
58+
59+
readonly MemoryStream m_stream;
60+
readonly BinaryWriter m_writer;
61+
}
62+
}

0 commit comments

Comments
 (0)