private static HandshakeRequestMessage CreateHandshakeRequestMessage(ref MessagePackReader reader, int arrayLength) { var version = ReadInt32(ref reader, "version"); var result = new HandshakeRequestMessage(version); if (arrayLength >= 4) { result.ConnectionType = ReadInt32(ref reader, "connectionType"); result.Target = ReadString(ref reader, "target"); } result.MigrationLevel = arrayLength >= 5 ? ReadInt32(ref reader, "migratableStatus") : 0; return(result); }
private static void WriteHandshakeRequestMessage(ref MessagePackWriter writer, HandshakeRequestMessage message) { writer.WriteArrayHeader(5); writer.Write(ServiceProtocolConstants.HandshakeRequestType); writer.Write(message.Version); writer.Write(message.ConnectionType); writer.Write(message.ConnectionType == 0 ? "" : message.Target ?? string.Empty); writer.Write((int)message.MigrationLevel); }