Class Probe.Requester

  • All Implemented Interfaces:
    java.lang.Runnable
    Direct Known Subclasses:
    Probe.TcpRequester, Probe.UdpRequester
    Enclosing class:
    Probe

    protected abstract class Probe.Requester
    extends java.lang.Object
    implements java.lang.Runnable
    • Field Detail

      • dest

        protected final java.net.SocketAddress dest
      • request

        protected final java.lang.String request
      • passcode

        protected final java.lang.String passcode
      • on_rsp

        protected java.util.function.Consumer<ByteArray> on_rsp
      • ON_RSP

        protected final java.util.function.Consumer<ByteArray> ON_RSP
    • Constructor Detail

      • Requester

        protected Requester​(java.net.SocketAddress dest,
                            java.lang.String request,
                            java.lang.String passcode,
                            java.util.function.Consumer<ByteArray> on_rsp)
    • Method Detail

      • start

        protected abstract <T extends Probe.Requester> T start​(java.net.InetAddress bind_addr,
                                                               long timeout,
                                                               int ttl)
                                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • isRunning

        protected abstract boolean isRunning()
      • sendRequest

        protected abstract <T extends Probe.Requester> T sendRequest​(byte[] request)
                                                              throws java.io.IOException
        Throws:
        java.io.IOException
      • fetchResponse

        protected abstract ByteArray fetchResponse()
      • setResponseHandler

        protected <T extends Probe.Requester> T setResponseHandler​(java.util.function.Consumer<ByteArray> rh)
      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable
      • createRequest

        protected byte[] createRequest()
                                throws java.io.IOException,
                                       java.security.NoSuchAlgorithmException
        Throws:
        java.io.IOException
        java.security.NoSuchAlgorithmException