public static String renderSequence(PingRequest request, PingSequence sequence) {
Objects.requireNonNull(request);
Objects.requireNonNull(sequence);
final StringBuilder builder = new StringBuilder();
if (sequence.isTimeout()) {
builder.append(String.format("Request timeout for icmp_seq %s", sequence.getSequenceNumber()));
}
if (sequence.isError()) {
builder.append(
String.format("Request error for icmp_seq %s: %s",
sequence.getSequenceNumber(),
sequence.getError().getMessage()));
}
if (sequence.isSuccess()) {
builder.append(
String.format("%s bytes from %s: icmp_seq=%d time=%.3f ms",
request.getPacketSize(),
request.getInetAddress(),
sequence.getSequenceNumber(),
sequence.getResponse().getRtt()));
}
return builder.toString();
}