56 lines
1.5 KiB
Java
56 lines
1.5 KiB
Java
/*
|
|
* This Java source file was generated by the Gradle 'init' task.
|
|
*/
|
|
package biz.nellemann.jperf;
|
|
|
|
|
|
import picocli.CommandLine;
|
|
import picocli.CommandLine.Command;
|
|
import java.util.concurrent.Callable;
|
|
|
|
@Command(name = "jperf", mixinStandardHelpOptions = true, version = "checksum 4.0",
|
|
description = "Java network performance tool.")
|
|
public class App implements Callable<Integer> {
|
|
|
|
|
|
@Override
|
|
public Integer call() throws Exception { // your business logic goes here...
|
|
|
|
// Start server
|
|
UdpServer udpServer = new UdpServer();
|
|
udpServer.start();
|
|
|
|
int sequence = 0;
|
|
|
|
// Start client and send some messages
|
|
UdpClient udpClient = new UdpClient();
|
|
|
|
// Start datagram
|
|
Datagram datagram = new Datagram(DataType.HANDSHAKE.getValue(), 64, sequence++);
|
|
udpClient.send(datagram);
|
|
|
|
// Data datagrams ...
|
|
for(int i = 0; i < 10; i++) {
|
|
datagram = new Datagram(DataType.DATA.getValue(), 64, sequence++);
|
|
udpClient.send(datagram);
|
|
}
|
|
|
|
// End datagram
|
|
datagram = new Datagram(DataType.END.getValue(), 64, sequence++);
|
|
udpClient.send(datagram);
|
|
|
|
udpClient.close();
|
|
|
|
|
|
return 0;
|
|
}
|
|
|
|
// this example implements Callable, so parsing, error handling and handling user
|
|
// requests for usage help or version help can be done with one line of code.
|
|
public static void main(String... args) {
|
|
int exitCode = new CommandLine(new App()).execute(args);
|
|
System.exit(exitCode);
|
|
}
|
|
|
|
}
|