socket.setSoTimeout(this.timeout);
if (gzip) {
in = new GZIPInputStream(new BufferedInputStream(socket.getInputStream()));
out = new BufferedOutputStream(new FlushableGZIPOutputStream(socket.getOutputStream()));
} else {
in = new BufferedInputStream(socket.getInputStream());
out = new BufferedOutputStream(socket.getOutputStream());
}