From 4f04ab275ac5cb6df3fc379a56bcc33c8a577398 Mon Sep 17 00:00:00 2001 From: Christoph Schulthess Date: Tue, 21 Feb 2017 16:17:34 +0100 Subject: fixed Dispatch Relay --- .../openslx/taskmanager/tasks/DispatchRelay.java | 29 +++++++++++++++------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/openslx/taskmanager/tasks/DispatchRelay.java b/src/main/java/org/openslx/taskmanager/tasks/DispatchRelay.java index 470134d..73bea44 100644 --- a/src/main/java/org/openslx/taskmanager/tasks/DispatchRelay.java +++ b/src/main/java/org/openslx/taskmanager/tasks/DispatchRelay.java @@ -11,7 +11,7 @@ import com.google.gson.annotations.Expose; public class DispatchRelay extends AbstractTask { - private Output status; + private Output status = new Output(); @Expose public String[] hosts; @@ -63,14 +63,17 @@ public class DispatchRelay extends AbstractTask { @Override protected boolean initTask() - { - this.setStatusObject( status ); - System.out.println("Something happened."); + { + this.setStatusObject( this.status ); if ( hosts.length != 2 || ports.length != 2 ) { - status.addMessage( "Invalid host/port list." ); + this.status.addMessage( "Invalid host/port list." ); return false; } + + this.status.addMessage( "Initiated relay task." ); + this.status.addMessage( this.descs[0] + " is " + this.hosts[0] + ":" + this.ports[0] ); + this.status.addMessage( this.descs[1] + " is " + this.hosts[1] + ":" + this.ports[1] ); return true; } @@ -90,8 +93,11 @@ public class DispatchRelay extends AbstractTask { Socket[] s = new Socket[2]; for ( int i = 0; i < 2; i++ ) { + InetSocketAddress addr = new InetSocketAddress( hosts[i], ports[i] ); s[i] = new Socket(); - s[i].connect( new InetSocketAddress( hosts[i], ports[i] ), 1200 ); + this.status.addMessage( "trying to connect socket to " + addr.toString() ); + s[i].connect( addr, 1200 ); + this.status.addMessage( "connected."); } return s; } @@ -150,14 +156,19 @@ public class DispatchRelay extends AbstractTask { @Override public void run() - { + { + boolean first = true; while ( true ) { try { relay(); - this.status.addMessage( desc + ": relay operating." ); + if ( first ) { + this.status.addMessage( desc + ": relay operating." ); + first = false; + } } catch ( Exception x ) { - this.status.addMessage( desc + ": close relay. " + x.getMessage() ); + this.status.addMessage( desc + ": close relay. " ); this.close(); + return; } } } -- cgit v1.2.3-55-g7522