From b191d20a7bafe31ccf0d74962f73c5cd94c37a27 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Sat, 3 May 2008 20:07:37 +0000 Subject: [PATCH] implement closeable interface deprecate disconnect() in favour of close() git-svn-id: http://trooper/svn/projects/jFCPlib/branch/high-level-client@843 c3eda9e8-030b-0410-8277-bc7414b0a119 --- src/net/pterodactylus/fcp/FcpConnection.java | 126 +++++++++++++++------------ 1 file changed, 69 insertions(+), 57 deletions(-) diff --git a/src/net/pterodactylus/fcp/FcpConnection.java b/src/net/pterodactylus/fcp/FcpConnection.java index dee158e..5757d61 100644 --- a/src/net/pterodactylus/fcp/FcpConnection.java +++ b/src/net/pterodactylus/fcp/FcpConnection.java @@ -19,6 +19,7 @@ package net.pterodactylus.fcp; +import java.io.Closeable; import java.io.FilterInputStream; import java.io.IOException; import java.io.InputStream; @@ -35,11 +36,11 @@ import java.util.logging.Logger; /** * An FCP connection to a Freenet node. - * + * * @author David ‘Bombe’ Roden <bombe@freenetproject.org> * @version $Id$ */ -public class FcpConnection { +public class FcpConnection implements Closeable { /** Logger. */ private static final Logger logger = Logger.getLogger(FcpConnection.class.getName()); @@ -74,7 +75,7 @@ public class FcpConnection { /** * Creates a new FCP connection to the freenet node running on localhost, * using the default port. - * + * * @throws UnknownHostException * if the hostname can not be resolved */ @@ -85,7 +86,7 @@ public class FcpConnection { /** * Creates a new FCP connection to the Freenet node running on the given * host, listening on the default port. - * + * * @param host * The hostname of the Freenet node * @throws UnknownHostException @@ -98,7 +99,7 @@ public class FcpConnection { /** * Creates a new FCP connection to the Freenet node running on the given * host, listening on the given port. - * + * * @param host * The hostname of the Freenet node * @param port @@ -113,7 +114,7 @@ public class FcpConnection { /** * Creates a new FCP connection to the Freenet node running at the given * address, listening on the default port. - * + * * @param address * The address of the Freenet node */ @@ -124,7 +125,7 @@ public class FcpConnection { /** * Creates a new FCP connection to the Freenet node running at the given * address, listening on the given port. - * + * * @param address * The address of the Freenet node * @param port @@ -141,7 +142,7 @@ public class FcpConnection { /** * Adds the given listener to the list of listeners. - * + * * @param fcpListener * The listener to add */ @@ -151,7 +152,7 @@ public class FcpConnection { /** * Removes the given listener from the list of listeners. - * + * * @param fcpListener * The listener to remove */ @@ -161,7 +162,7 @@ public class FcpConnection { /** * Notifies listeners that a “NodeHello” message was received. - * + * * @see FcpListener#receivedNodeHello(FcpConnection, NodeHello) * @param nodeHello * The “NodeHello” message @@ -175,7 +176,7 @@ public class FcpConnection { /** * Notifies listeners that a “CloseConnectionDuplicateClientName” message * was received. - * + * * @see FcpListener#receivedCloseConnectionDuplicateClientName(FcpConnection, * CloseConnectionDuplicateClientName) * @param closeConnectionDuplicateClientName @@ -189,7 +190,7 @@ public class FcpConnection { /** * Notifies listeners that a “SSKKeypair” message was received. - * + * * @see FcpListener#receivedSSKKeypair(FcpConnection, SSKKeypair) * @param sskKeypair * The “SSKKeypair” message @@ -202,7 +203,7 @@ public class FcpConnection { /** * Notifies listeners that a “Peer” message was received. - * + * * @see FcpListener#receivedPeer(FcpConnection, Peer) * @param peer * The “Peer” message @@ -215,7 +216,7 @@ public class FcpConnection { /** * Notifies all listeners that an “EndListPeers” message was received. - * + * * @see FcpListener#receivedEndListPeers(FcpConnection, EndListPeers) * @param endListPeers * The “EndListPeers” message @@ -228,7 +229,7 @@ public class FcpConnection { /** * Notifies all listeners that a “PeerNote” message was received. - * + * * @see FcpListener#receivedPeerNote(FcpConnection, PeerNote) * @param peerNote */ @@ -240,7 +241,7 @@ public class FcpConnection { /** * Notifies all listeners that an “EndListPeerNotes” message was received. - * + * * @see FcpListener#receivedEndListPeerNotes(FcpConnection, * EndListPeerNotes) * @param endListPeerNotes @@ -254,7 +255,7 @@ public class FcpConnection { /** * Notifies all listeners that a “PeerRemoved” message was received. - * + * * @see FcpListener#receivedPeerRemoved(FcpConnection, PeerRemoved) * @param peerRemoved * The “PeerRemoved” message @@ -267,7 +268,7 @@ public class FcpConnection { /** * Notifies all listeners that a “NodeData” message was received. - * + * * @see FcpListener#receivedNodeData(FcpConnection, NodeData) * @param nodeData * The “NodeData” message @@ -280,7 +281,7 @@ public class FcpConnection { /** * Notifies all listeners that a “TestDDAReply” message was received. - * + * * @see FcpListener#receivedTestDDAReply(FcpConnection, TestDDAReply) * @param testDDAReply * The “TestDDAReply” message @@ -293,7 +294,7 @@ public class FcpConnection { /** * Notifies all listeners that a “TestDDAComplete” message was received. - * + * * @see FcpListener#receivedTestDDAComplete(FcpConnection, TestDDAComplete) * @param testDDAComplete * The “TestDDAComplete” message @@ -306,7 +307,7 @@ public class FcpConnection { /** * Notifies all listeners that a “PersistentGet” message was received. - * + * * @see FcpListener#receivedPersistentGet(FcpConnection, PersistentGet) * @param persistentGet * The “PersistentGet” message @@ -319,7 +320,7 @@ public class FcpConnection { /** * Notifies all listeners that a “PersistentPut” message was received. - * + * * @see FcpListener#receivedPersistentPut(FcpConnection, PersistentPut) * @param persistentPut * The “PersistentPut” message @@ -333,7 +334,7 @@ public class FcpConnection { /** * Notifies all listeners that a “EndListPersistentRequests” message was * received. - * + * * @see FcpListener#receivedEndListPersistentRequests(FcpConnection, * EndListPersistentRequests) * @param endListPersistentRequests @@ -347,7 +348,7 @@ public class FcpConnection { /** * Notifies all listeners that a “URIGenerated” message was received. - * + * * @see FcpListener#receivedURIGenerated(FcpConnection, URIGenerated) * @param uriGenerated * The “URIGenerated” message @@ -360,7 +361,7 @@ public class FcpConnection { /** * Notifies all listeners that a “DataFound” message was received. - * + * * @see FcpListener#receivedDataFound(FcpConnection, DataFound) * @param dataFound * The “DataFound” message @@ -373,7 +374,7 @@ public class FcpConnection { /** * Notifies all listeners that an “AllData” message was received. - * + * * @see FcpListener#receivedAllData(FcpConnection, AllData) * @param allData * The “AllData” message @@ -386,7 +387,7 @@ public class FcpConnection { /** * Notifies all listeners that a “SimpleProgress” message was received. - * + * * @see FcpListener#receivedSimpleProgress(FcpConnection, SimpleProgress) * @param simpleProgress * The “SimpleProgress” message @@ -399,7 +400,7 @@ public class FcpConnection { /** * Notifies all listeners that a “StartedCompression” message was received. - * + * * @see FcpListener#receivedStartedCompression(FcpConnection, * StartedCompression) * @param startedCompression @@ -413,7 +414,7 @@ public class FcpConnection { /** * Notifies all listeners that a “FinishedCompression” message was received. - * + * * @see FcpListener#receviedFinishedCompression(FcpConnection, * FinishedCompression) * @param finishedCompression @@ -428,7 +429,7 @@ public class FcpConnection { /** * Notifies all listeners that an “UnknownPeerNoteType” message was * received. - * + * * @see FcpListener#receivedUnknownPeerNoteType(FcpConnection, * UnknownPeerNoteType) * @param unknownPeerNoteType @@ -443,7 +444,7 @@ public class FcpConnection { /** * Notifies all listeners that an “UnknownNodeIdentifier” message was * received. - * + * * @see FcpListener#receivedUnknownNodeIdentifier(FcpConnection, * UnknownNodeIdentifier) * @param unknownNodeIdentifier @@ -457,7 +458,7 @@ public class FcpConnection { /** * Notifies all listeners that a “ConfigData” message was received. - * + * * @see FcpListener#receivedConfigData(FcpConnection, ConfigData) * @param configData * The “ConfigData” message @@ -470,7 +471,7 @@ public class FcpConnection { /** * Notifies all listeners that a “GetFailed” message was received. - * + * * @see FcpListener#receivedGetFailed(FcpConnection, GetFailed) * @param getFailed * The “GetFailed” message @@ -483,7 +484,7 @@ public class FcpConnection { /** * Notifies all listeners that a “PutFailed” message was received. - * + * * @see FcpListener#receivedPutFailed(FcpConnection, PutFailed) * @param putFailed * The “PutFailed” message @@ -497,7 +498,7 @@ public class FcpConnection { /** * Notifies all listeners that an “IdentifierCollision” message was * received. - * + * * @see FcpListener#receivedIdentifierCollision(FcpConnection, * IdentifierCollision) * @param identifierCollision @@ -511,7 +512,7 @@ public class FcpConnection { /** * Notifies all listeners that an “PersistentPutDir” message was received. - * + * * @see FcpListener#receivedPersistentPutDir(FcpConnection, * PersistentPutDir) * @param persistentPutDir @@ -526,7 +527,7 @@ public class FcpConnection { /** * Notifies all listeners that a “PersistentRequestRemoved” message was * received. - * + * * @see FcpListener#receivedPersistentRequestRemoved(FcpConnection, * PersistentRequestRemoved) * @param persistentRequestRemoved @@ -540,7 +541,7 @@ public class FcpConnection { /** * Notifies all listeners that a “SubscribedUSKUpdate” message was received. - * + * * @see FcpListener#receivedSubscribedUSKUpdate(FcpConnection, * SubscribedUSKUpdate) * @param subscribedUSKUpdate @@ -554,7 +555,7 @@ public class FcpConnection { /** * Notifies all listeners that a “PluginInfo” message was received. - * + * * @see FcpListener#receivedPluginInfo(FcpConnection, PluginInfo) * @param pluginInfo * The “PluginInfo” message @@ -567,7 +568,7 @@ public class FcpConnection { /** * Notifies all listeners that an “FCPPluginReply” message was received. - * + * * @see FcpListener#receivedFCPPluginReply(FcpConnection, FCPPluginReply) * @param fcpPluginReply * The “FCPPluginReply” message @@ -581,7 +582,7 @@ public class FcpConnection { /** * Notifies all listeners that a “PersistentRequestModified” message was * received. - * + * * @see FcpListener#receivedPersistentRequestModified(FcpConnection, * PersistentRequestModified) * @param persistentRequestModified @@ -595,7 +596,7 @@ public class FcpConnection { /** * Notifies all listeners that a “PutSuccessful” message was received. - * + * * @see FcpListener#receivedPutSuccessful(FcpConnection, PutSuccessful) * @param putSuccessful * The “PutSuccessful” message @@ -608,7 +609,7 @@ public class FcpConnection { /** * Notifies all listeners that a “PutFetchable” message was received. - * + * * @see FcpListener#receivedPutFetchable(FcpConnection, PutFetchable) * @param putFetchable * The “PutFetchable” message @@ -621,7 +622,7 @@ public class FcpConnection { /** * Notifies all listeners that a “ProtocolError” message was received. - * + * * @see FcpListener#receivedProtocolError(FcpConnection, ProtocolError) * @param protocolError * The “ProtocolError” message @@ -634,7 +635,7 @@ public class FcpConnection { /** * Notifies all registered listeners that a message has been received. - * + * * @see FcpListener#receivedMessage(FcpConnection, FcpMessage) * @param fcpMessage * The message that was received @@ -647,7 +648,7 @@ public class FcpConnection { /** * Notifies all listeners that the connection to the node was closed. - * + * * @see FcpListener#connectionClosed(FcpConnection) */ private void fireConnectionClosed() { @@ -662,7 +663,7 @@ public class FcpConnection { /** * Connects to the node. - * + * * @throws IOException * if an I/O error occurs * @throws IllegalStateException @@ -682,8 +683,19 @@ public class FcpConnection { /** * Disconnects from the node. If there is no connection to the node, this * method does nothing. + * + * @deprecated Use {@link #close()} instead */ + @Deprecated public synchronized void disconnect() { + close(); + } + + /** + * Closes the connection. If there is no connection to the node, this method + * does nothing. + */ + public void close() { if (connectionHandler == null) { return; } @@ -696,7 +708,7 @@ public class FcpConnection { /** * Sends the given FCP message. - * + * * @param fcpMessage * The FCP message to send * @throws IOException @@ -714,7 +726,7 @@ public class FcpConnection { /** * Handles the given message, notifying listeners. This message should only * be called by {@link FcpConnectionHandler}. - * + * * @param fcpMessage * The received message */ @@ -827,7 +839,7 @@ public class FcpConnection { /** * Incremets the counter in {@link #incomingMessageStatistics} by 1 * for the given message name. - * + * * @param name * The name of the message to count */ @@ -842,7 +854,7 @@ public class FcpConnection { /** * Returns a limited input stream from the node’s input stream. - * + * * @param dataLength * The length of the stream * @return The limited input stream @@ -857,7 +869,7 @@ public class FcpConnection { /** * A wrapper around an {@link InputStream} that only supplies a limit number * of bytes from the underlying input stream. - * + * * @author David Roden * @version $Id$ */ @@ -869,7 +881,7 @@ public class FcpConnection { /** * Creates a new LimitedInputStream that supplies at most * length bytes from the given input stream. - * + * * @param inputStream * The input stream * @param length @@ -934,7 +946,7 @@ public class FcpConnection { /** * {@inheritDoc} This method does nothing, as {@link #mark(int)} and * {@link #reset()} are not supported. - * + * * @see java.io.FilterInputStream#mark(int) */ @Override @@ -944,7 +956,7 @@ public class FcpConnection { /** * {@inheritDoc} - * + * * @see java.io.FilterInputStream#markSupported() * @return false */ @@ -956,7 +968,7 @@ public class FcpConnection { /** * {@inheritDoc} This method does nothing, as {@link #mark(int)} and * {@link #reset()} are not supported. - * + * * @see java.io.FilterInputStream#reset() */ @Override @@ -967,7 +979,7 @@ public class FcpConnection { /** * Consumes the input stream, i.e. read all bytes until the limit is * reached. - * + * * @throws IOException * if an I/O error occurs */ -- 2.7.4