* Handles an FCP connection to a node.
*
* @author David ‘Bombe’ Roden <bombe@freenetproject.org>
- * @version $Id$
*/
class FcpConnectionHandler implements Runnable {
*/
public void run() {
FcpMessage fcpMessage = null;
+ Throwable throwable = null;
while (true) {
synchronized (this) {
if (shouldStop) {
fcpMessage = new FcpMessage(line);
continue;
}
- if ("EndMessage".equals(line)) {
+ if ("EndMessage".equalsIgnoreCase(line) || "Data".equalsIgnoreCase(line)) {
fcpConnection.handleMessage(fcpMessage);
fcpMessage = null;
}
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);
}
/**