public PingSequence(int sequenceNumber, PingResponse response) { this.response = Objects.requireNonNull(response); this.sequenceNumber = sequenceNumber; this.timeout = response.getRtt() == Double.POSITIVE_INFINITY; }
@Override public CompletableFuture<PingSummary> execute(PingRequestDTO requestDTO) { return client.execute(requestDTO).thenApply(responseDTO -> { final PingResponse pingResponse = new PingResponse(); pingResponse.setRtt(responseDTO.getRtt()); PingSummary summary = new PingSummary(requestDTO.toPingRequest(), 1 /* we always only have 1 */); summary.addSequence(1, pingResponse); return summary; }); } }
private LongStream getDiffTimeNanos() { return sequences.stream().filter(PingSequence::isSuccess).mapToLong(eachSequence -> (long) eachSequence.getResponse().getRtt()); }
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(); }
System.out.println(String.format("PING: %s %.3f ms", byName, summary.getSequence(0).getResponse().getRtt()));
System.out.println(String.format("PING: %s %.3f ms", byName, summary.getSequence(0).getResponse().getRtt()));