public void WriteLengthString(string @string) { this.ThrowIfDisposed(); Guard.NotNull(() => @string, @string); this.WriteInt16((short)@string.Length); if (@string.Length > 0) { this.WriteDirect(Encoding.UTF8.GetBytes(@string)); } }
private static byte[] ConstructHandshakePacketContent(HandshakeInfo handshakeInfo) { using (var builder = new PacketBuilder()) { builder.WriteInt16(handshakeInfo.Version); builder.WriteLengthString(handshakeInfo.Subversion); builder.WriteBytes(handshakeInfo.ServerIv); builder.WriteBytes(handshakeInfo.ClientIv); // Locale ID (used for localizations and test servers) builder.WriteByte(handshakeInfo.LocaleId); return builder.ToByteArray(); } }