Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 98b0ff75 authored by Xiao Ma's avatar Xiao Ma
Browse files

Adjust the timeout parameters in DHCP client.

MAX_TIMEOUT_MS: 128s -> 512s, battery drain for DHCP packet retransmit.
FIRST_TIMEOUT_MS: 2s -> 1s, shorten DHCP packet retransmit interval.
DEFAULT_TIMEOUT_MS: 36s -> 18s, quickly detect provisioning timeout.

Bug: 131781810
Test: atest NetworkStackIntegrationTests NetworkStackTests

Change-Id: Ie162b0d59da0082cd0c5ec02bb391c3d27f40607
parent 73aae2e5
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -68,12 +68,12 @@ public class ProvisioningConfiguration {
    // TODO: Delete this default timeout once those callers that care are
    // fixed to pass in their preferred timeout.
    //
    // We pick 36 seconds so we can send DHCP requests at
    // We pick 18 seconds so we can send DHCP requests at
    //
    //     t=0, t=2, t=6, t=14, t=30
    //     t=0, t=1, t=3, t=7, t=16
    //
    // allowing for 10% jitter.
    private static final int DEFAULT_TIMEOUT_MS = 36 * 1000;
    private static final int DEFAULT_TIMEOUT_MS = 18 * 1000;

    /**
     * Builder to create a {@link ProvisioningConfiguration}.
+4 −4
Original line number Diff line number Diff line
@@ -149,8 +149,8 @@ public class DhcpClient extends StateMachine {

    // Timers and timeouts.
    private static final int SECONDS = 1000;
    private static final int FIRST_TIMEOUT_MS         =   2 * SECONDS;
    private static final int MAX_TIMEOUT_MS           = 128 * SECONDS;
    private static final int FIRST_TIMEOUT_MS         =   1 * SECONDS;
    private static final int MAX_TIMEOUT_MS           = 512 * SECONDS;
    private static final int IPMEMORYSTORE_TIMEOUT_MS =   1 * SECONDS;

    // The waiting time to restart the DHCP configuration process after broadcasting a
@@ -198,8 +198,8 @@ public class DhcpClient extends StateMachine {

    // This is not strictly needed, since the client is asynchronous and implements exponential
    // backoff. It's maintained for backwards compatibility with the previous DHCP code, which was
    // a blocking operation with a 30-second timeout. We pick 36 seconds so we can send packets at
    // t=0, t=2, t=6, t=14, t=30, allowing for 10% jitter.
    // a blocking operation with a 30-second timeout. We pick 18 seconds so we can send packets at
    // t=0, t=1, t=3, t=7, t=16, allowing for 10% jitter.
    private static final int DHCP_TIMEOUT_MS    =  36 * SECONDS;

    // DhcpClient uses IpClient's handler.