Allow raw binary to be sent over SubData

This allows files to be transfered faster over the new system.
This commit is contained in:
ME1312 2018-08-23 23:35:22 -04:00
parent 7cd9c9bc4c
commit a781370fbb
No known key found for this signature in database
GPG Key ID: FEFFE2F698E88FA8
12 changed files with 9 additions and 19 deletions

View File

@ -159,8 +159,6 @@ public class YAMLSection {
value = new YAMLSection(((Value) value).asMapValue());
} else if (((Value) value).isArrayValue()) {
value = ((Value) value).asArrayValue().list();
} else if (((Value) value).isBinaryValue()) {
value = ((Value) value).asBinaryValue().asByteArray();
} else if (((Value) value).isBooleanValue()) {
value = ((Value) value).asBooleanValue().getBoolean();
} else if (((Value) value).isFloatValue()) {

View File

@ -193,7 +193,7 @@ public final class AES implements net.ME1312.SubServers.Bungee.Network.Cipher {
ByteArrayOutputStream encrypted = new ByteArrayOutputStream();
encrypt(keyLength, key, new ByteArrayInputStream(unencrypted.toByteArray()), encrypted);
return ValueFactory.newBinary(encrypted.toByteArray());
return ValueFactory.newBinary(encrypted.toByteArray(), true);
}
public String getName() {

View File

@ -9,9 +9,9 @@ import net.ME1312.SubServers.Bungee.Network.Client;
import net.ME1312.SubServers.Bungee.Network.PacketIn;
import net.ME1312.SubServers.Bungee.Network.PacketOut;
import net.ME1312.SubServers.Bungee.SubPlugin;
import org.msgpack.value.ValueFactory;
import java.io.*;
import java.util.Base64;
/**
* External Host Configuration Packet
@ -48,7 +48,7 @@ public class PacketExConfigureHost implements PacketIn, PacketOut {
tinfo.set("icon", template.getIcon());
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
Util.zip(template.getDirectory(), bytes);
tinfo.set("files", Base64.getEncoder().encodeToString(bytes.toByteArray()));
tinfo.set("files", ValueFactory.newBinary(bytes.toByteArray(), true));
tinfo.set("build", template.getBuildOptions().clone());
tinfo.set("settings", template.getConfigOptions().clone());
templates.set(template.getName(), tinfo);

View File

@ -160,8 +160,6 @@ public class YAMLSection {
value = new YAMLSection(((Value) value).asMapValue());
} else if (((Value) value).isArrayValue()) {
value = ((Value) value).asArrayValue().list();
} else if (((Value) value).isBinaryValue()) {
value = ((Value) value).asBinaryValue().asByteArray();
} else if (((Value) value).isBooleanValue()) {
value = ((Value) value).asBooleanValue().getBoolean();
} else if (((Value) value).isFloatValue()) {

View File

@ -192,7 +192,7 @@ public final class AES implements net.ME1312.SubServers.Client.Bukkit.Network.Ci
ByteArrayOutputStream encrypted = new ByteArrayOutputStream();
encrypt(keyLength, key, new ByteArrayInputStream(unencrypted.toByteArray()), encrypted);
return ValueFactory.newBinary(encrypted.toByteArray());
return ValueFactory.newBinary(encrypted.toByteArray(), true);
}
public String getName() {

View File

@ -160,8 +160,6 @@ public class YAMLSection {
value = new YAMLSection(((Value) value).asMapValue());
} else if (((Value) value).isArrayValue()) {
value = ((Value) value).asArrayValue().list();
} else if (((Value) value).isBinaryValue()) {
value = ((Value) value).asBinaryValue().asByteArray();
} else if (((Value) value).isBooleanValue()) {
value = ((Value) value).asBooleanValue().getBoolean();
} else if (((Value) value).isFloatValue()) {

View File

@ -192,7 +192,7 @@ public final class AES implements net.ME1312.SubServers.Client.Sponge.Network.Ci
ByteArrayOutputStream encrypted = new ByteArrayOutputStream();
encrypt(keyLength, key, new ByteArrayInputStream(unencrypted.toByteArray()), encrypted);
return ValueFactory.newBinary(encrypted.toByteArray());
return ValueFactory.newBinary(encrypted.toByteArray(), true);
}
public String getName() {

View File

@ -171,8 +171,6 @@ public class YAMLSection {
value = new YAMLSection(((Value) value).asMapValue());
} else if (((Value) value).isArrayValue()) {
value = ((Value) value).asArrayValue().list();
} else if (((Value) value).isBinaryValue()) {
value = ((Value) value).asBinaryValue().asByteArray();
} else if (((Value) value).isBooleanValue()) {
value = ((Value) value).asBooleanValue().getBoolean();
} else if (((Value) value).isFloatValue()) {

View File

@ -192,7 +192,7 @@ public final class AES implements net.ME1312.SubServers.Host.Network.Cipher {
ByteArrayOutputStream encrypted = new ByteArrayOutputStream();
encrypt(keyLength, key, new ByteArrayInputStream(unencrypted.toByteArray()), encrypted);
return ValueFactory.newBinary(encrypted.toByteArray());
return ValueFactory.newBinary(encrypted.toByteArray(), true);
}
public String getName() {

View File

@ -10,10 +10,10 @@ import net.ME1312.SubServers.Host.Network.PacketIn;
import net.ME1312.SubServers.Host.Network.PacketOut;
import net.ME1312.SubServers.Host.Network.SubDataClient;
import net.ME1312.SubServers.Host.ExHost;
import org.msgpack.value.Value;
import java.io.ByteArrayInputStream;
import java.lang.reflect.Field;
import java.util.Base64;
/**
* External Host Configuration Packet
@ -57,7 +57,7 @@ public class PacketExConfigureHost implements PacketIn, PacketOut {
try {
UniversalFile dir = new UniversalFile(templates, name);
dir.mkdirs();
Util.unzip(new ByteArrayInputStream(Base64.getDecoder().decode(data.getSection("templates").getSection(name).getRawString("files"))), dir);
Util.unzip(new ByteArrayInputStream(((Value) data.getSection("templates").getSection(name).getObject("files")).asBinaryValue().asByteArray()), dir);
SubCreator.ServerTemplate template = new SubCreator.ServerTemplate(name, data.getSection("templates").getSection(name).getBoolean("enabled"), data.getSection("templates").getSection(name).getRawString("icon"), dir,
data.getSection("templates").getSection(name).getSection("build").clone(), data.getSection("templates").getSection(name).getSection("settings").clone());
host.templates.put(name.toLowerCase(), template);

View File

@ -160,8 +160,6 @@ public class YAMLSection {
value = new YAMLSection(((Value) value).asMapValue());
} else if (((Value) value).isArrayValue()) {
value = ((Value) value).asArrayValue().list();
} else if (((Value) value).isBinaryValue()) {
value = ((Value) value).asBinaryValue().asByteArray();
} else if (((Value) value).isBooleanValue()) {
value = ((Value) value).asBooleanValue().getBoolean();
} else if (((Value) value).isFloatValue()) {

View File

@ -192,7 +192,7 @@ public final class AES implements net.ME1312.SubServers.Sync.Network.Cipher {
ByteArrayOutputStream encrypted = new ByteArrayOutputStream();
encrypt(keyLength, key, new ByteArrayInputStream(unencrypted.toByteArray()), encrypted);
return ValueFactory.newBinary(encrypted.toByteArray());
return ValueFactory.newBinary(encrypted.toByteArray(), true);
}
public String getName() {