package com.limegroup.gnutella;
import java.io.IOException;
import java.util.Properties;
import com.limegroup.gnutella.handshaking.HandshakeResponder;
import com.limegroup.gnutella.messages.BadPacketException;
import com.limegroup.gnutella.messages.Message;
public class CountingConnection extends Connection {
public int incomingCount;
public int incomingFailed;
public int outgoingCount;
public int outgoingFailed;
public boolean countEnabled;
public CountingConnection(String host, int port) {
super(host, port);
countEnabled = true;
}
public Message receive() throws IOException, BadPacketException {
Message m = null;
try {
m = super.receive();
} catch (IOException iox) {
//System.out.println("IOX");
if(countEnabled)
incomingFailed++;
throw iox;
} catch (BadPacketException bpe) {
//System.out.println("BPE");
if(countEnabled)
incomingFailed++;
throw bpe;
}
if(countEnabled)
incomingCount++;
//System.out.println(""+incomingCount+":"+_socket.getLocalPort()+":"+m);
return m;
}
public Message receive(int timeout) throws IOException, BadPacketException {
Message m = null;
try {
m = super.receive(timeout);
} catch (IOException iox) {
//System.out.println("iox");
if(countEnabled)
incomingFailed++;
throw iox;
} catch (BadPacketException bpe) {
//System.out.println("bpe");
if(countEnabled)
incomingFailed++;
throw bpe;
}
if(countEnabled)
incomingCount++;
//System.out.println(""+incomingCount+":"+_socket.getLocalPort()+":"+m);
return m;
}
public void send(Message m) throws IOException {
super.send(m);
if(countEnabled)
outgoingCount++;
//System.out.println(""+outgoingCount+": "+m);
}
}