/.metadata/.plugins/org.eclipse.core.resources/.history/bd/30bb779367a3001e1d98c762f0e1eac2
https://bitbucket.org/fixpoint/connexion · #! · 60 lines · 51 code · 9 blank · 0 comment · 0 complexity · 62917580e5c45f21b4f3a39af4c9c9c0 MD5 · raw file
- package info.reflectionsofmind.connexion.test;
-
- import info.reflectionsofmind.connexion.platform.control.IRoot;
- import info.reflectionsofmind.connexion.platform.control.control.IConnectControl;
- import info.reflectionsofmind.connexion.platform.control.control.IGameControl;
- import info.reflectionsofmind.connexion.platform.control.control.IHostControl;
- import info.reflectionsofmind.connexion.platform.control.control.IJoinControl;
- import info.reflectionsofmind.connexion.platform.control.control.IMainControl;
- import info.reflectionsofmind.connexion.transport.direct.DirectConnectionParameters;
- import info.reflectionsofmind.connexion.transport.direct.DirectTransport;
- import info.reflectionsofmind.connexion.transport.direct.DirectTransportFactory;
-
- import java.util.concurrent.Callable;
- import java.util.concurrent.Executors;
- import java.util.concurrent.Future;
-
- public class EndToEnd
- {
- public IHostControl startHost() throws Exception
- {
- final IRoot root = null;
- final IMainControl main = root.restart();
- final IHostControl host = main.hostGame(null);
- host.launchTransport(new DirectTransportFactory(), //
- new DirectConnectionParameters("direct:host"));
- return host;
- }
-
- public IGameControl startJoin(final IHostControl host) throws Exception
- {
- final IRoot root = null;
- final IMainControl main = root.restart();
- final IConnectControl connect = main.joinGame(null);
- final IJoinControl join = connect.connect("Dummy",
- new DirectTransport("direct:join" + join.hashCode())
- ((DirectTransport)host.getRunningTransports().get(0)).new DirectNode()).get();
- return join.waitForGame().get();
- }
-
- public void endToEnd() throws Exception
- {
- final IHostControl host = startHost();
-
- final Callable<IGameControl> callable = new Callable<IGameControl>()
- {
- public IGameControl call() throws Exception
- {
- return startJoin();
- }
- };
-
- final Future<IGameControl> game1future = Executors.newSingleThreadExecutor().submit(callable);
- final Future<IGameControl> game2future = Executors.newSingleThreadExecutor().submit(callable);
-
- host.startGame();
-
- final IGameControl game1 = game1future.get();
- final IGameControl game2 = game2future.get();
- }
- }