import com.trilead.ssh2.Connection;
import com.trilead.ssh2.Session;
import com.trilead.ssh2.channel.ConnectionRule;
import java.io.DataInputStream;
import java.util.concurrent.TimeUnit;
/**
* Test the throughput of the data retrieval.
*
* @author Kohsuke Kawaguchi
*/
public class Receiver {
public static void main(String[] args) throws Exception {
Connection connection = new ConnectionRule().getConnection();
final Session session = connection.openSession();
session.execCommand("cat /dev/zero");
session.getStdin().close();
session.getStderr().close();
byte[] buf = new byte[10*1024*1024];
DataInputStream in = new DataInputStream(session.getStdout());
int j=0;
while (true) {
for (int i=0; i<5; i++) {
long start = System.nanoTime();
in.readFully(buf);
long end = System.nanoTime();
System.out.println("Took "+ TimeUnit.NANOSECONDS.toMillis(end-start));
}
int sz = 1024 * 1024 * (j++ % 2 == 0 ? 4 : 1);
session.setWindowSize(sz);
System.out.println("Adjusting size to "+sz);
}
}
}