public int read(byte[] buffer) throws IOException { int result; if (!packetMode) { result = input.read(buffer); } else { result = packet.read(buffer); } return result; }