Initialize the retransmission parameters for RequestState.
Per RFC8415 section 18.2.2:
IRT REQ_TIMEOUT
MRT REQ_MAX_RT
MRC REQ_MAX_RC
MRD 0
Bug: 260934173
Test: TH
Change-Id: I23ee15e4181244cf26efd8e9dc503b744e9e0a4b
diff --git a/src/android/net/dhcp6/Dhcp6Client.java b/src/android/net/dhcp6/Dhcp6Client.java
index c26943b..225b62f 100644
--- a/src/android/net/dhcp6/Dhcp6Client.java
+++ b/src/android/net/dhcp6/Dhcp6Client.java
@@ -110,6 +110,9 @@
private static final int SECONDS = 1000;
private static final long SOL_TIMEOUT = 1 * SECONDS;
private static final long SOL_MAX_RT = 3600 * SECONDS;
+ private static final long REQ_TIMEOUT = 1 * SECONDS;
+ private static final long REQ_MAX_RT = 30 * SECONDS;
+ private static final int REQ_MAX_RC = 10;
// Per rfc8415#section-12, the IAID MUST be consistent across restarts.
// Since currently only one IAID is supported, a well-known value can be used (0).
@@ -549,8 +552,8 @@
*/
class RequestState extends PacketRetransmittingState {
RequestState() {
- // TODO: use the actual constants.
- super((long) 0 /* delay */, (long) 0/* IRT */, (long) 0 /* MRT */, 0 /* MRC */);
+ super((long) 0 /* delay */, REQ_TIMEOUT /* IRT */, REQ_MAX_RT /* MRT */,
+ REQ_MAX_RC /* MRC */);
}
@Override