Class MdRequester
java.lang.Object
com.trdp.md.MdRequester
- All Implemented Interfaces:
AutoCloseable
-
Constructor Summary
ConstructorsConstructorDescriptionMdRequester(int localPort) MdRequester(int localPort, long replyTimeoutUs) MdRequester(int localPort, long replyTimeoutUs, long connectTimeoutUs) MdRequester(int localPort, long replyTimeoutUs, long connectTimeoutUs, InetAddress bindAddress, int ttl, int qos) Creates an MD requester with custom socket options. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()longlongsendRequest(int comId, byte[] data, String destinationAddress, int destinationPort) sendRequest(int comId, byte[] data, String destinationAddress, int destinationPort, TransportProtocol protocol) sendRequest(int comId, byte[] data, String destinationAddress, int destinationPort, TransportProtocol protocol, String sourceUri, String destinationUri) sendRequest(int comId, byte[] data, String destinationAddress, int destinationPort, TransportProtocol protocol, String sourceUri, String destinationUri, long perRequestReplyTimeoutUs) sendRequest(int comId, byte[] data, String destinationAddress, int destinationPort, TransportProtocol protocol, String sourceUri, String destinationUri, long perRequestReplyTimeoutUs, int maxRetries) voidsetTopologyCounters(int etbTopoCnt, int opTrnTopoCnt)
-
Constructor Details
-
MdRequester
- Throws:
IOException
-
MdRequester
- Throws:
IOException
-
MdRequester
public MdRequester(int localPort, long replyTimeoutUs, long connectTimeoutUs, InetAddress bindAddress, int ttl, int qos) throws IOException Creates an MD requester with custom socket options.- Parameters:
localPort- the local UDP port to bind to (0 for ephemeral)replyTimeoutUs- the default reply timeout in microsecondsconnectTimeoutUs- the TCP connect/idle timeout in microsecondsbindAddress- the local address to bind to, ornullfor wildcardttl- the IP time-to-live for outgoing packetsqos- the QoS value (IP Precedence 0..7)- Throws:
IOException- if socket creation or listener start fails
-
MdRequester
- Throws:
IOException
-
-
Method Details
-
setTopologyCounters
public void setTopologyCounters(int etbTopoCnt, int opTrnTopoCnt) -
getReplyTimeoutUs
public long getReplyTimeoutUs() -
getConnectTimeoutUs
public long getConnectTimeoutUs() -
sendRequest
public CompletableFuture<MdReply> sendRequest(int comId, byte[] data, String destinationAddress, int destinationPort) -
sendRequest
public CompletableFuture<MdReply> sendRequest(int comId, byte[] data, String destinationAddress, int destinationPort, TransportProtocol protocol) -
sendRequest
public CompletableFuture<MdReply> sendRequest(int comId, byte[] data, String destinationAddress, int destinationPort, TransportProtocol protocol, String sourceUri, String destinationUri) -
sendRequest
public CompletableFuture<MdReply> sendRequest(int comId, byte[] data, String destinationAddress, int destinationPort, TransportProtocol protocol, String sourceUri, String destinationUri, long perRequestReplyTimeoutUs) -
sendRequest
public CompletableFuture<MdReply> sendRequest(int comId, byte[] data, String destinationAddress, int destinationPort, TransportProtocol protocol, String sourceUri, String destinationUri, long perRequestReplyTimeoutUs, int maxRetries) -
close
public void close()- Specified by:
closein interfaceAutoCloseable
-