- public HighLevelCallback<ConnectResult> connect() throws IOException {
- fcpConnection = new FcpConnection(address, port);
- fcpConnection.addFcpListener(highLevelClientFcpListener);
- ClientHello clientHello = new ClientHello(clientName);
- connectCallback = new HighLevelCallback<ConnectResult>(new ConnectResult());
- fcpConnection.sendMessage(clientHello);
- return connectCallback;
+ public HighLevelCallback<ConnectResult> connect(String hostname) throws UnknownHostException, IOException {
+ return connect(hostname, 9481);
+ }
+
+ /**
+ * Connects the client.
+ *
+ * @param hostname
+ * The hostname of the node
+ * @param port
+ * The port number of the node
+ * @return A callback with a connection result
+ * @throws UnknownHostException
+ * if the hostname can not be resolved
+ * @throws IOException
+ * if an I/O error occurs communicating with the node
+ */
+ public HighLevelCallback<ConnectResult> connect(String hostname, int port) throws UnknownHostException, IOException {
+ return connect(InetAddress.getByName(hostname), port);
+ }
+
+ /**
+ * Connects the client.
+ *
+ * @param address
+ * The address of the node
+ * @param port
+ * The port number of the node
+ * @return A callback with a connection result
+ * @throws IOException
+ * if an I/O error occurs communicating with the node
+ */
+ public HighLevelCallback<ConnectResult> connect(InetAddress address, int port) throws IOException {
+ try {
+ synchronized (this) {
+ fcpConnection = new FcpConnection(address, port);
+ }
+ fcpConnection.addFcpListener(highLevelClientFcpListener);
+ fcpConnection.connect();
+ ClientHello clientHello = new ClientHello(clientName);
+ connectCallback = new HighLevelCallback<ConnectResult>(new ConnectResult());
+ fcpConnection.sendMessage(clientHello);
+ return connectCallback;
+ } catch (IOException ioe1) {
+ fcpConnection = null;
+ throw ioe1;
+ }