+ * Adds the peer whose noderef is stored in the given file.
+ *
+ * @param nodeRefFile
+ * The name of the file the peer’s noderef is stored in
+ * @return A peer callback
+ * @throws IOException
+ * if an I/O error occurs communicating with the node
+ */
+ public HighLevelCallback<PeerResult> addPeer(String nodeRefFile) throws IOException {
+ String identifier = generateIdentifier("addPeer");
+ AddPeer addPeer = new AddPeer(nodeRefFile);
+ HighLevelCallback<PeerResult> peerCallback = new HighLevelCallback<PeerResult>(new PeerResult());
+ peerCallbacks.put(identifier, peerCallback);
+ fcpConnection.sendMessage(addPeer);
+ return peerCallback;
+ }
+
+ /**
+ * Adds the peer whose noderef is stored in the given file.
+ *
+ * @param nodeRefURL
+ * The URL where the peer’s noderef is stored
+ * @return A peer callback
+ * @throws IOException
+ * if an I/O error occurs communicating with the node
+ */
+ public HighLevelCallback<PeerResult> addPeer(URL nodeRefURL) throws IOException {
+ String identifier = generateIdentifier("addPeer");
+ AddPeer addPeer = new AddPeer(nodeRefURL);
+ HighLevelCallback<PeerResult> peerCallback = new HighLevelCallback<PeerResult>(new PeerResult());
+ peerCallbacks.put(identifier, peerCallback);
+ fcpConnection.sendMessage(addPeer);
+ return peerCallback;
+ }
+
+ /**
+ * Adds the peer whose noderef is stored in the given file.
+ *
+ * @param nodeRef
+ * The peer’s noderef
+ * @return A peer callback
+ * @throws IOException
+ * if an I/O error occurs communicating with the node
+ */
+ public HighLevelCallback<PeerResult> addPeer(NodeRef nodeRef) throws IOException {
+ String identifier = generateIdentifier("addPeer");
+ AddPeer addPeer = new AddPeer(nodeRef);
+ HighLevelCallback<PeerResult> peerCallback = new HighLevelCallback<PeerResult>(new PeerResult());
+ peerCallbacks.put(identifier, peerCallback);
+ fcpConnection.sendMessage(addPeer);
+ return peerCallback;
+ }
+
+ //
+ // PRIVATE METHODS
+ //
+
+ /**