X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Ffcp%2FFcpConnectionHandler.java;h=2c37e5eace1e1c21f52493d07ae8b3025b9d763c;hb=d6e61f56d4907ddcdf1f136229ee3396de6c3cc2;hp=b6404c539a07a6c541830386641960f3d5b4c1d5;hpb=f553531be78d6d6d95dc152728f2b8d40242b57d;p=jFCPlib.git diff --git a/src/net/pterodactylus/fcp/FcpConnectionHandler.java b/src/net/pterodactylus/fcp/FcpConnectionHandler.java index b6404c5..2c37e5e 100644 --- a/src/net/pterodactylus/fcp/FcpConnectionHandler.java +++ b/src/net/pterodactylus/fcp/FcpConnectionHandler.java @@ -28,7 +28,6 @@ import java.nio.charset.Charset; * Handles an FCP connection to a node. * * @author David ‘Bombe’ Roden <bombe@freenetproject.org> - * @version $Id$ */ class FcpConnectionHandler implements Runnable { @@ -63,6 +62,7 @@ class FcpConnectionHandler implements Runnable { */ public void run() { FcpMessage fcpMessage = null; + Throwable throwable = null; while (true) { synchronized (this) { if (shouldStop) { @@ -83,7 +83,7 @@ class FcpConnectionHandler implements Runnable { fcpMessage = new FcpMessage(line); continue; } - if ("EndMessage".equals(line)) { + if ("EndMessage".equalsIgnoreCase(line) || "Data".equalsIgnoreCase(line)) { fcpConnection.handleMessage(fcpMessage); fcpMessage = null; } @@ -96,11 +96,12 @@ class FcpConnectionHandler implements Runnable { String value = line.substring(equalSign + 1); assert fcpMessage != null: "fcp message is null"; fcpMessage.setField(field, value); - } catch (IOException e) { + } catch (IOException ioe1) { + throwable = ioe1; break; } } - fcpConnection.handleDisconnect(); + fcpConnection.handleDisconnect(throwable); } /**