X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fcore%2FNodeManager.java;h=6842459ed139682b577653e24f112f9803d4a884;hb=3ac9fa8a9f7c247c77a859a1d68ad431ca7607ed;hp=ac47628c7b3f3764b50cf91d5b25a5a7ab29610d;hpb=36a9e6e7134485038f739181e2edaac044c32176;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/core/NodeManager.java b/src/net/pterodactylus/jsite/core/NodeManager.java index ac47628..6842459 100644 --- a/src/net/pterodactylus/jsite/core/NodeManager.java +++ b/src/net/pterodactylus/jsite/core/NodeManager.java @@ -27,6 +27,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.net.UnknownHostException; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -39,6 +40,8 @@ import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; +import net.pterodactylus.fcp.highlevel.FcpClient; +import net.pterodactylus.fcp.highlevel.FcpException; import net.pterodactylus.jsite.util.IdGenerator; import net.pterodactylus.util.io.Closer; import net.pterodactylus.util.logging.Logging; @@ -72,6 +75,9 @@ public class NodeManager implements Iterable, PropertyChangeListener { /** Map from node ID to node. */ private final Map idNodes = Collections.synchronizedMap(new HashMap()); + /** Map from node to client. */ + private final Map nodeClients = Collections.synchronizedMap(new HashMap()); + /** Collection of currently connected nodes. */ private final Set connectedNodes = Collections.synchronizedSet(new HashSet()); @@ -315,6 +321,16 @@ public class NodeManager implements Iterable, PropertyChangeListener { logger.log(Level.WARNING, "Was told to connect to node (" + node + ") I don’t know about!"); return; } + try { + FcpClient fcpClient = new FcpClient(clientName, node.getHostname(), node.getPort()); + fcpClient.connect(); + } catch (UnknownHostException uhe1) { + nodeListenerSupport.fireNodeConnectionFailed(node, uhe1); + } catch (IOException ioe1) { + nodeListenerSupport.fireNodeConnectionFailed(node, ioe1); + } catch (FcpException fe1) { + nodeListenerSupport.fireNodeConnectionFailed(node, fe1); + } } /**