Serialization manager is now moved into the Configuration options, so

that different network backends (within the same application) can
support multiple serialization schemes.
This commit is contained in:
nathan 2017-09-22 16:42:53 +02:00
parent c22ac7bd81
commit 9d8f381427
19 changed files with 236 additions and 178 deletions

View File

@ -75,7 +75,7 @@ class Client<C extends Connection> extends EndPointClient<C> implements Connecti
*/
public
Client() throws InitializationException, SecurityException, IOException {
this(new Configuration(LOCAL_CHANNEL));
this(Configuration.localOnly());
}
/**

View File

@ -17,7 +17,9 @@ package dorkbox.network;
import java.util.concurrent.Executor;
import dorkbox.network.connection.EndPoint;
import dorkbox.network.store.SettingsStore;
import dorkbox.network.util.CryptoSerializationManager;
public
class Configuration {
@ -25,22 +27,43 @@ class Configuration {
* On the server, if host is null, it will bind to the "any" address, otherwise you must specify the hostname/IP to bind to.
*/
public String host = null;
/**
* Specify the TCP port to use. The server will listen on this port, the client will connect to it.
*/
public int tcpPort = -1;
/**
* Specify the UDP port to use. The server will listen on this port, the client will connect to it.
* <p>
* UDP requires TCP to handshake
*/
public int udpPort = -1;
/**
* Specify the UDT port to use. The server will listen on this port, the client will connect to it.
* <p>
* UDT requires TCP to handshake
*/
public int udtPort = -1;
/**
* Specify the local channel name to use, if the default is not wanted.
* <p>
* Local/remote configurations are incompatible with each other.
*/
public String localChannelName = null;
/**
* Allows the end user to change how server settings are stored. For example, a custom database instead of the default.
*/
public SettingsStore settingsStore = null;
/**
* Specify the serialization manager to use. If null, it uses the default.
*/
public CryptoSerializationManager serialization = null;
/**
* Enable remote method invocation (RMI) for this connection. There is additional overhead to using RMI.
* <p/>
@ -61,9 +84,17 @@ class Configuration {
Configuration() {
}
public
Configuration(String localChannelName) {
this.localChannelName = localChannelName;
/**
* Creates a new configuration for a connection that is local inside the JVM using the default name.
* <p>
* Local/remote configurations are incompatible with each other when running as a client. Servers can listen on all of them.
*/
public static
Configuration localOnly() {
Configuration configuration = new Configuration();
configuration.localChannelName = EndPoint.LOCAL_CHANNEL;
return configuration;
}
public

View File

@ -86,11 +86,11 @@ class Server<C extends Connection> extends EndPointServer<C> {
private final String localChannelName;
/**
* Starts a LOCAL <b>only</b> server, with the default serialization scheme
* Starts a LOCAL <b>only</b> server, with the default serialization scheme.
*/
public
Server() throws InitializationException, SecurityException, IOException {
this(new Configuration(LOCAL_CHANNEL));
this(Configuration.localOnly());
}
/**

View File

@ -218,7 +218,11 @@ class EndPoint<C extends Connection> {
}
// serialization stuff
this.serializationManager = KryoCryptoSerializationManager.DEFAULT;
if (options.serialization != null) {
this.serializationManager = options.serialization;
} else {
this.serializationManager = KryoCryptoSerializationManager.DEFAULT();
}
rmiEnabled = options.rmiEnabled;
if (rmiEnabled) {

View File

@ -82,11 +82,6 @@ class KryoCryptoSerializationManager implements CryptoSerializationManager {
private static final String OBJECT_ID = "objectID";
/**
* The default serialization manager. This is static, since serialization must be consistent within the JVM. This can be changed.
*/
public static KryoCryptoSerializationManager DEFAULT = DEFAULT();
public static
KryoCryptoSerializationManager DEFAULT() {
return DEFAULT(true, true);

View File

@ -20,6 +20,13 @@
package dorkbox.network;
import static org.junit.Assert.fail;
import java.io.IOException;
import java.util.Arrays;
import org.junit.Test;
import dorkbox.network.PingPongTest.TYPE;
import dorkbox.network.connection.Connection;
import dorkbox.network.connection.KryoCryptoSerializationManager;
@ -28,12 +35,6 @@ import dorkbox.network.connection.idle.IdleBridge;
import dorkbox.network.util.CryptoSerializationManager;
import dorkbox.util.exceptions.InitializationException;
import dorkbox.util.exceptions.SecurityException;
import org.junit.Test;
import java.io.IOException;
import java.util.Arrays;
import static org.junit.Assert.fail;
public class ChunkedDataIdleTest extends BaseTest {
private volatile boolean success = false;
@ -47,9 +48,6 @@ public class ChunkedDataIdleTest extends BaseTest {
// have to test sending objects
@Test
public void ObjectSender() throws InitializationException, SecurityException, IOException, InterruptedException {
KryoCryptoSerializationManager.DEFAULT = KryoCryptoSerializationManager.DEFAULT();
register(KryoCryptoSerializationManager.DEFAULT);
final Data mainData = new Data();
populateData(mainData);
@ -58,6 +56,9 @@ public class ChunkedDataIdleTest extends BaseTest {
Configuration configuration = new Configuration();
configuration.tcpPort = tcpPort;
configuration.host = host;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT();
register(configuration.serialization);
sendObject(mainData, configuration, ConnectionType.TCP);
@ -66,6 +67,9 @@ public class ChunkedDataIdleTest extends BaseTest {
configuration.tcpPort = tcpPort;
configuration.udpPort = udpPort;
configuration.host = host;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT();
register(configuration.serialization);
sendObject(mainData, configuration, ConnectionType.UDP);
@ -74,6 +78,9 @@ public class ChunkedDataIdleTest extends BaseTest {
configuration.tcpPort = tcpPort;
configuration.udtPort = udtPort;
configuration.host = host;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT();
register(configuration.serialization);
sendObject(mainData, configuration, ConnectionType.UDT);
}

View File

@ -19,18 +19,19 @@
*/
package dorkbox.network;
import static org.junit.Assert.fail;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicBoolean;
import org.junit.Test;
import dorkbox.network.connection.Connection;
import dorkbox.network.connection.KryoCryptoSerializationManager;
import dorkbox.network.connection.Listener;
import dorkbox.network.util.CryptoSerializationManager;
import dorkbox.util.exceptions.InitializationException;
import dorkbox.util.exceptions.SecurityException;
import org.junit.Test;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicBoolean;
import static org.junit.Assert.fail;
public
class ClientSendTest extends BaseTest {
@ -40,12 +41,11 @@ class ClientSendTest extends BaseTest {
@Test
public
void sendDataFromClientClass() throws InitializationException, SecurityException, IOException, InterruptedException {
KryoCryptoSerializationManager.DEFAULT = KryoCryptoSerializationManager.DEFAULT();
register(KryoCryptoSerializationManager.DEFAULT);
Configuration configuration = new Configuration();
configuration.tcpPort = tcpPort;
configuration.host = host;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT();
register(configuration.serialization);
Server server = new Server(configuration);
addEndPoint(server);

View File

@ -19,6 +19,12 @@
*/
package dorkbox.network;
import java.io.IOException;
import java.util.Timer;
import java.util.TimerTask;
import org.junit.Test;
import dorkbox.network.connection.Connection;
import dorkbox.network.connection.EndPoint;
import dorkbox.network.connection.KryoCryptoSerializationManager;
@ -26,11 +32,6 @@ import dorkbox.network.connection.Listener;
import dorkbox.network.util.CryptoSerializationManager;
import dorkbox.util.exceptions.InitializationException;
import dorkbox.util.exceptions.SecurityException;
import org.junit.Test;
import java.io.IOException;
import java.util.Timer;
import java.util.TimerTask;
public
class ConnectionTest extends BaseTest {
@ -38,13 +39,12 @@ class ConnectionTest extends BaseTest {
@Test
public
void connectLocal() throws InitializationException, SecurityException, IOException, InterruptedException {
KryoCryptoSerializationManager.DEFAULT = KryoCryptoSerializationManager.DEFAULT();
register(KryoCryptoSerializationManager.DEFAULT);
System.out.println("---- " + "Local");
Configuration configuration = new Configuration();
configuration.localChannelName = EndPoint.LOCAL_CHANNEL;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT();
register(configuration.serialization);
startServer(configuration);
startClient(configuration);
@ -55,13 +55,12 @@ class ConnectionTest extends BaseTest {
@Test
public
void connectTcp() throws InitializationException, SecurityException, IOException, InterruptedException {
KryoCryptoSerializationManager.DEFAULT = KryoCryptoSerializationManager.DEFAULT();
register(KryoCryptoSerializationManager.DEFAULT);
System.out.println("---- " + "TCP");
Configuration configuration = new Configuration();
configuration.tcpPort = tcpPort;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT();
register(configuration.serialization);
startServer(configuration);
@ -74,14 +73,13 @@ class ConnectionTest extends BaseTest {
@Test
public
void connectTcpUdp() throws InitializationException, SecurityException, IOException, InterruptedException {
KryoCryptoSerializationManager.DEFAULT = KryoCryptoSerializationManager.DEFAULT();
register(KryoCryptoSerializationManager.DEFAULT);
System.out.println("---- " + "TCP UDP");
Configuration configuration = new Configuration();
configuration.tcpPort = tcpPort;
configuration.udpPort = udpPort;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT();
register(configuration.serialization);
startServer(configuration);
@ -94,14 +92,13 @@ class ConnectionTest extends BaseTest {
@Test
public
void connectTcpUdt() throws InitializationException, SecurityException, IOException, InterruptedException {
KryoCryptoSerializationManager.DEFAULT = KryoCryptoSerializationManager.DEFAULT();
register(KryoCryptoSerializationManager.DEFAULT);
System.out.println("---- " + "TCP UDT");
Configuration configuration = new Configuration();
configuration.tcpPort = tcpPort;
configuration.udtPort = udtPort;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT();
register(configuration.serialization);
startServer(configuration);
@ -114,15 +111,14 @@ class ConnectionTest extends BaseTest {
@Test
public
void connectTcpUdpUdt() throws InitializationException, SecurityException, IOException, InterruptedException {
KryoCryptoSerializationManager.DEFAULT = KryoCryptoSerializationManager.DEFAULT();
register(KryoCryptoSerializationManager.DEFAULT);
System.out.println("---- " + "TCP UDP UDT");
Configuration configuration = new Configuration();
configuration.tcpPort = tcpPort;
configuration.udpPort = udpPort;
configuration.udtPort = udtPort;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT();
register(configuration.serialization);
startServer(configuration);

View File

@ -19,6 +19,15 @@
*/
package dorkbox.network;
import static org.junit.Assert.fail;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
import org.junit.Test;
import dorkbox.network.PingPongTest.TYPE;
import dorkbox.network.connection.Connection;
import dorkbox.network.connection.KryoCryptoSerializationManager;
@ -32,14 +41,6 @@ import dorkbox.network.connection.idle.InputStreamSender;
import dorkbox.network.util.CryptoSerializationManager;
import dorkbox.util.exceptions.InitializationException;
import dorkbox.util.exceptions.SecurityException;
import org.junit.Test;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
import static org.junit.Assert.fail;
@SuppressWarnings({"rawtypes"})
public
@ -56,14 +57,14 @@ class IdleTest extends BaseTest {
@Test
public
void InputStreamSender() throws InitializationException, SecurityException, IOException, InterruptedException {
KryoCryptoSerializationManager.DEFAULT = KryoCryptoSerializationManager.DEFAULT(false, false);
final int largeDataSize = 12345;
System.err.println("-- TCP");
Configuration configuration = new Configuration();
configuration.tcpPort = tcpPort;
configuration.host = host;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT(false, false);
streamSpecificType(largeDataSize, configuration, ConnectionType.TCP);
@ -72,6 +73,8 @@ class IdleTest extends BaseTest {
configuration.tcpPort = tcpPort;
configuration.udpPort = udpPort;
configuration.host = host;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT(false, false);
streamSpecificType(largeDataSize, configuration, ConnectionType.UDP);
@ -80,6 +83,8 @@ class IdleTest extends BaseTest {
configuration.tcpPort = tcpPort;
configuration.udtPort = udtPort;
configuration.host = host;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT(false, false);
streamSpecificType(largeDataSize, configuration, ConnectionType.UDT);
}
@ -89,9 +94,6 @@ class IdleTest extends BaseTest {
@Test
public
void ObjectSender() throws InitializationException, SecurityException, IOException, InterruptedException {
KryoCryptoSerializationManager.DEFAULT = KryoCryptoSerializationManager.DEFAULT();
register(KryoCryptoSerializationManager.DEFAULT);
final Data mainData = new Data();
populateData(mainData);
@ -100,6 +102,9 @@ class IdleTest extends BaseTest {
Configuration configuration = new Configuration();
configuration.tcpPort = tcpPort;
configuration.host = host;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT();
register(configuration.serialization);
sendObject(mainData, configuration, ConnectionType.TCP);
@ -108,6 +113,9 @@ class IdleTest extends BaseTest {
configuration.tcpPort = tcpPort;
configuration.udpPort = udpPort;
configuration.host = host;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT();
register(configuration.serialization);
sendObject(mainData, configuration, ConnectionType.TCP);
@ -116,6 +124,9 @@ class IdleTest extends BaseTest {
configuration.tcpPort = tcpPort;
configuration.udtPort = udtPort;
configuration.host = host;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT();
register(configuration.serialization);
sendObject(mainData, configuration, ConnectionType.TCP);
}

View File

@ -19,19 +19,20 @@
*/
package dorkbox.network;
import static org.junit.Assert.fail;
import java.io.IOException;
import java.security.SecureRandom;
import java.util.concurrent.atomic.AtomicInteger;
import org.junit.Test;
import dorkbox.network.connection.Connection;
import dorkbox.network.connection.KryoCryptoSerializationManager;
import dorkbox.network.connection.Listener;
import dorkbox.network.util.CryptoSerializationManager;
import dorkbox.util.exceptions.InitializationException;
import dorkbox.util.exceptions.SecurityException;
import org.junit.Test;
import java.io.IOException;
import java.security.SecureRandom;
import java.util.concurrent.atomic.AtomicInteger;
import static org.junit.Assert.fail;
public
class LargeResizeBufferTest extends BaseTest {
@ -44,15 +45,14 @@ class LargeResizeBufferTest extends BaseTest {
@Test
public
void manyLargeMessages() throws InitializationException, SecurityException, IOException, InterruptedException {
KryoCryptoSerializationManager.DEFAULT = KryoCryptoSerializationManager.DEFAULT();
register(KryoCryptoSerializationManager.DEFAULT);
final int messageCount = 1024;
Configuration configuration = new Configuration();
configuration.tcpPort = tcpPort;
configuration.udpPort = udpPort;
configuration.host = host;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT();
register(configuration.serialization);
Server server = new Server(configuration);
addEndPoint(server);

View File

@ -19,17 +19,18 @@
*/
package dorkbox.network;
import static org.junit.Assert.fail;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicInteger;
import org.junit.Test;
import dorkbox.network.connection.Connection;
import dorkbox.network.connection.KryoCryptoSerializationManager;
import dorkbox.network.connection.Listener;
import dorkbox.util.exceptions.InitializationException;
import dorkbox.util.exceptions.SecurityException;
import org.junit.Test;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicInteger;
import static org.junit.Assert.fail;
public
class MultipleServerTest extends BaseTest {
@ -38,13 +39,12 @@ class MultipleServerTest extends BaseTest {
@Test
public
void multipleServers() throws InitializationException, SecurityException, IOException, InterruptedException {
KryoCryptoSerializationManager.DEFAULT = KryoCryptoSerializationManager.DEFAULT();
KryoCryptoSerializationManager.DEFAULT.register(String[].class);
Configuration configuration1 = new Configuration();
configuration1.tcpPort = tcpPort;
configuration1.udpPort = udpPort;
configuration1.localChannelName = "chan1";
configuration1.serialization = KryoCryptoSerializationManager.DEFAULT();
configuration1.serialization.register(String[].class);
Server server1 = new Server(configuration1);
addEndPoint(server1);
@ -68,6 +68,8 @@ class MultipleServerTest extends BaseTest {
configuration2.tcpPort = tcpPort + 1;
configuration2.udpPort = udpPort + 1;
configuration2.localChannelName = "chan2";
configuration2.serialization = KryoCryptoSerializationManager.DEFAULT();
configuration2.serialization.register(String[].class);
Server server2 = new Server(configuration2);
@ -92,6 +94,7 @@ class MultipleServerTest extends BaseTest {
configuration1.localChannelName = null;
configuration1.host = host;
Client client1 = new Client(configuration1);
addEndPoint(client1);
client1.listeners()

View File

@ -19,13 +19,7 @@
*/
package dorkbox.network;
import dorkbox.network.connection.Connection;
import dorkbox.network.connection.KryoCryptoSerializationManager;
import dorkbox.network.connection.Listener;
import dorkbox.network.connection.ListenerBridge;
import dorkbox.util.exceptions.InitializationException;
import dorkbox.util.exceptions.SecurityException;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import java.io.IOException;
import java.util.ArrayList;
@ -34,7 +28,14 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import dorkbox.network.connection.Connection;
import dorkbox.network.connection.KryoCryptoSerializationManager;
import dorkbox.network.connection.Listener;
import dorkbox.network.connection.ListenerBridge;
import dorkbox.util.exceptions.InitializationException;
import dorkbox.util.exceptions.SecurityException;
public
class MultipleThreadTest extends BaseTest {
@ -57,13 +58,13 @@ class MultipleThreadTest extends BaseTest {
@Test
public
void multipleThreads() throws InitializationException, SecurityException, IOException, InterruptedException {
KryoCryptoSerializationManager.DEFAULT = KryoCryptoSerializationManager.DEFAULT();
KryoCryptoSerializationManager.DEFAULT.register(String[].class);
KryoCryptoSerializationManager.DEFAULT.register(DataClass.class);
Configuration configuration = new Configuration();
configuration.tcpPort = tcpPort;
configuration.host = host;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT();
configuration.serialization.register(String[].class);
configuration.serialization.register(DataClass.class);
final Server server = new Server(configuration);

View File

@ -19,6 +19,14 @@
*/
package dorkbox.network;
import static org.junit.Assert.fail;
import java.io.IOException;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicInteger;
import org.junit.Test;
import dorkbox.network.connection.Connection;
import dorkbox.network.connection.KryoCryptoSerializationManager;
import dorkbox.network.connection.Listener;
@ -26,13 +34,6 @@ import dorkbox.network.connection.ListenerBridge;
import dorkbox.network.util.CryptoSerializationManager;
import dorkbox.util.exceptions.InitializationException;
import dorkbox.util.exceptions.SecurityException;
import org.junit.Test;
import java.io.IOException;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicInteger;
import static org.junit.Assert.fail;
public
class PingPongLocalTest extends BaseTest {
@ -41,15 +42,17 @@ class PingPongLocalTest extends BaseTest {
@Test
public void pingPongLocal() throws InitializationException, SecurityException, IOException, InterruptedException {
KryoCryptoSerializationManager.DEFAULT = KryoCryptoSerializationManager.DEFAULT();
register(KryoCryptoSerializationManager.DEFAULT);
this.fail = "Data not received.";
final Data dataLOCAL = new Data();
populateData(dataLOCAL);
Server server = new Server();
Configuration configuration = Configuration.localOnly();
configuration.serialization = KryoCryptoSerializationManager.DEFAULT();
register(configuration.serialization);
Server server = new Server(configuration);
addEndPoint(server);
server.bind(false);
final ListenerBridge listeners = server.listeners();

View File

@ -19,6 +19,15 @@
*/
package dorkbox.network;
import static org.junit.Assert.fail;
import java.io.IOException;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import org.junit.Test;
import dorkbox.network.connection.Connection;
import dorkbox.network.connection.EndPoint;
import dorkbox.network.connection.KryoCryptoSerializationManager;
@ -27,14 +36,6 @@ import dorkbox.network.connection.ListenerBridge;
import dorkbox.network.util.CryptoSerializationManager;
import dorkbox.util.exceptions.InitializationException;
import dorkbox.util.exceptions.SecurityException;
import org.junit.Test;
import java.io.IOException;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import static org.junit.Assert.fail;
public
class PingPongTest extends BaseTest {
@ -50,9 +51,6 @@ class PingPongTest extends BaseTest {
@Test
public
void pingPong() throws InitializationException, SecurityException, IOException, InterruptedException {
KryoCryptoSerializationManager.DEFAULT = KryoCryptoSerializationManager.DEFAULT();
register(KryoCryptoSerializationManager.DEFAULT);
// UDP data is kinda big. Make sure it fits into one packet.
int origSize = EndPoint.udpMaxSize;
EndPoint.udpMaxSize = 2048;
@ -64,6 +62,8 @@ class PingPongTest extends BaseTest {
configuration.udpPort = udpPort;
configuration.udtPort = udtPort;
configuration.host = host;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT();
register(configuration.serialization);
final Data dataTCP = new Data();

View File

@ -19,6 +19,15 @@
*/
package dorkbox.network;
import static org.junit.Assert.fail;
import java.io.IOException;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import org.junit.Test;
import dorkbox.network.connection.Connection;
import dorkbox.network.connection.EndPoint;
import dorkbox.network.connection.KryoCryptoSerializationManager;
@ -26,14 +35,6 @@ import dorkbox.network.connection.Listener;
import dorkbox.network.connection.ListenerBridge;
import dorkbox.util.exceptions.InitializationException;
import dorkbox.util.exceptions.SecurityException;
import org.junit.Test;
import java.io.IOException;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import static org.junit.Assert.fail;
public
class UnregisteredClassTest extends BaseTest {
@ -46,8 +47,6 @@ class UnregisteredClassTest extends BaseTest {
@Test
public
void unregisteredClasses() throws InitializationException, SecurityException, IOException, InterruptedException {
KryoCryptoSerializationManager.DEFAULT = KryoCryptoSerializationManager.DEFAULT(false, false);
int origSize = EndPoint.udpMaxSize;
EndPoint.udpMaxSize = 2048;
@ -55,6 +54,8 @@ class UnregisteredClassTest extends BaseTest {
configuration.tcpPort = tcpPort;
configuration.udpPort = udpPort;
configuration.host = host;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT(false, false);
System.err.println("Running test " + this.tries + " times, please wait for it to finish.");

View File

@ -34,6 +34,16 @@
*/
package dorkbox.network.rmi;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.io.IOException;
import java.io.Serializable;
import org.junit.Test;
import dorkbox.network.BaseTest;
import dorkbox.network.Client;
import dorkbox.network.Configuration;
@ -45,15 +55,6 @@ import dorkbox.network.connection.Listener;
import dorkbox.network.util.CryptoSerializationManager;
import dorkbox.util.exceptions.InitializationException;
import dorkbox.util.exceptions.SecurityException;
import org.junit.Test;
import java.io.IOException;
import java.io.Serializable;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
public
class RmiGlobalTest extends BaseTest {
@ -209,15 +210,15 @@ class RmiGlobalTest extends BaseTest {
@Test
public
void rmi() throws InitializationException, SecurityException, IOException, InterruptedException {
KryoCryptoSerializationManager.DEFAULT = KryoCryptoSerializationManager.DEFAULT();
register(KryoCryptoSerializationManager.DEFAULT);
Configuration configuration = new Configuration();
configuration.tcpPort = tcpPort;
configuration.udpPort = udpPort;
configuration.host = host;
configuration.rmiEnabled = true;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT();
register(configuration.serialization);
final Server server = new Server(configuration);
server.setIdleTimeout(0);

View File

@ -15,6 +15,14 @@
*/
package dorkbox.network.rmi;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicInteger;
import org.junit.Test;
import dorkbox.network.BaseTest;
import dorkbox.network.Client;
import dorkbox.network.Configuration;
@ -25,13 +33,6 @@ import dorkbox.network.connection.Listener;
import dorkbox.util.exceptions.InitializationException;
import dorkbox.util.exceptions.SecurityException;
import dorkbox.util.serialization.IgnoreSerialization;
import org.junit.Test;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicInteger;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
@SuppressWarnings("Duplicates")
public
@ -66,16 +67,17 @@ class RmiSendObjectOverrideMethodTest extends BaseTest {
@Test
public
void rmi() throws InitializationException, SecurityException, IOException, InterruptedException {
KryoCryptoSerializationManager.DEFAULT = KryoCryptoSerializationManager.DEFAULT();
KryoCryptoSerializationManager.DEFAULT.registerRemote(TestObject.class, TestObjectImpl.class);
KryoCryptoSerializationManager.DEFAULT.registerRemote(OtherObject.class, OtherObjectImpl.class);
Configuration configuration = new Configuration();
configuration.tcpPort = tcpPort;
configuration.host = host;
configuration.rmiEnabled = true;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT();
configuration.serialization.registerRemote(TestObject.class, TestObjectImpl.class);
configuration.serialization.registerRemote(OtherObject.class, OtherObjectImpl.class);
Server server = new Server(configuration);
server.setIdleTimeout(0);

View File

@ -34,6 +34,14 @@
*/
package dorkbox.network.rmi;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicInteger;
import org.junit.Test;
import dorkbox.network.BaseTest;
import dorkbox.network.Client;
import dorkbox.network.Configuration;
@ -44,13 +52,6 @@ import dorkbox.network.connection.Listener;
import dorkbox.util.exceptions.InitializationException;
import dorkbox.util.exceptions.SecurityException;
import dorkbox.util.serialization.IgnoreSerialization;
import org.junit.Test;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicInteger;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
@SuppressWarnings("Duplicates")
public
@ -63,17 +64,17 @@ class RmiSendObjectTest extends BaseTest {
@Test
public
void rmi() throws InitializationException, SecurityException, IOException, InterruptedException {
KryoCryptoSerializationManager.DEFAULT = KryoCryptoSerializationManager.DEFAULT();
KryoCryptoSerializationManager.DEFAULT.register(TestObject.class);
KryoCryptoSerializationManager.DEFAULT.registerRemote(TestObject.class, TestObjectImpl.class);
KryoCryptoSerializationManager.DEFAULT.registerRemote(OtherObject.class, OtherObjectImpl.class);
Configuration configuration = new Configuration();
configuration.tcpPort = tcpPort;
configuration.host = host;
configuration.rmiEnabled = true;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT();
configuration.serialization.register(TestObject.class);
configuration.serialization.registerRemote(TestObject.class, TestObjectImpl.class);
configuration.serialization.registerRemote(OtherObject.class, OtherObjectImpl.class);
Server server = new Server(configuration);
server.setIdleTimeout(0);

View File

@ -34,6 +34,16 @@
*/
package dorkbox.network.rmi;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicInteger;
import org.junit.Test;
import dorkbox.network.BaseTest;
import dorkbox.network.Client;
import dorkbox.network.Configuration;
@ -45,15 +55,6 @@ import dorkbox.network.connection.ListenerBridge;
import dorkbox.network.util.CryptoSerializationManager;
import dorkbox.util.exceptions.InitializationException;
import dorkbox.util.exceptions.SecurityException;
import org.junit.Test;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicInteger;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
public
class RmiTest extends BaseTest {
@ -196,14 +197,15 @@ class RmiTest extends BaseTest {
@Test
public
void rmi() throws InitializationException, SecurityException, IOException, InterruptedException {
KryoCryptoSerializationManager.DEFAULT = KryoCryptoSerializationManager.DEFAULT();
register(KryoCryptoSerializationManager.DEFAULT);
Configuration configuration = new Configuration();
configuration.tcpPort = tcpPort;
configuration.udpPort = udpPort;
configuration.host = host;
configuration.rmiEnabled = true;
configuration.serialization = KryoCryptoSerializationManager.DEFAULT();
register(configuration.serialization);
final Server server = new Server(configuration);
server.setIdleTimeout(0);