ConnectionMigrationOptions.Builder

public class ConnectionMigrationOptions.Builder


ConnectionMigrationOptions 的建構工具。

摘要

公用方法

ConnectionMigrationOptions.Builder

設定 Cronet 偵測到目前使用的路徑效能降低時,是否可將連線遷移至替代網路。

ConnectionMigrationOptions.Builder

允許在伺服器要求時,將連線遷移至替代伺服器位址。

ConnectionMigrationOptions

根據這個建構工具中的值,建立並傳回最終的 ConnectionMigrationOptions 例項。

ConnectionMigrationOptions.Builder
enableDefaultNetworkMigration(
    boolean enableDefaultNetworkConnectionMigration
)

如果預設網路變更,即可遷移連線。

ConnectionMigrationOptions.Builder

如果目前的路徑效能不佳,即可遷移連線。

ConnectionMigrationOptions.Builder

設定是否要啟用閒置連線的遷移作業。

ConnectionMigrationOptions.Builder
@ConnectionMigrationOptions.Experimental
retryPreHandshakeErrorsOnNonDefaultNetwork(
    boolean retryPreHandshakeErrorsOnAlternateNetwork
)

設定是否要在替代網路上重試發生預先交握錯誤的連線。

ConnectionMigrationOptions.Builder
@ConnectionMigrationOptions.Experimental
setIdleConnectionMigrationPeriodSeconds(
    long idleConnectionMigrationPeriodSeconds
)

設定連線仍會遷移的閒置時間上限 (以秒為單位)。

ConnectionMigrationOptions.Builder

當現有連線發生路徑降級時,設定遷移至非預設網路的次數上限。

ConnectionMigrationOptions.Builder
@ConnectionMigrationOptions.Experimental
setMaxTimeOnNonDefaultNetworkSeconds(
    long maxTimeOnNonDefaultNetworkSeconds
)

設定連線積極遷移後,應在非預設網路上停留的最長時間,超過後就會遷移回預設網路。

ConnectionMigrationOptions.Builder

設定遇到寫入錯誤時,遷移至非預設網路的次數上限。

公用方法

allowNonDefaultNetworkUsage

@ConnectionMigrationOptions.Experimental
public ConnectionMigrationOptions.Builder allowNonDefaultNetworkUsage(boolean enable)

設定 Cronet 偵測到目前使用的路徑效能降低時,是否可將連線遷移至替代網路。

注意:這項設定可能會導致系統透過非預設的按流量計費網路傳送要求。請務必節省使用付費網路,並微調 setMaxPathDegradingNonDefaultNetworkMigrationsCountsetMaxTimeOnNonDefaultNetworkSeconds 等參數,限制在非預設網路上的時間。

傳回
ConnectionMigrationOptions.Builder

這個建構工具,用於鏈結

allowServerMigration

@ConnectionMigrationOptions.Experimental
public ConnectionMigrationOptions.Builder allowServerMigration(boolean allowServerMigration)

允許在伺服器要求時,將連線遷移至替代伺服器位址。

傳回
ConnectionMigrationOptions.Builder

這個建構工具,用於鏈結

build

public ConnectionMigrationOptions build()

根據這個建構工具中的值,建立並傳回最終的 ConnectionMigrationOptions 例項。

enableDefaultNetworkMigration

public ConnectionMigrationOptions.Builder enableDefaultNetworkMigration(
    boolean enableDefaultNetworkConnectionMigration
)

如果預設網路變更,系統可能會遷移連線。如果啟用這項功能,當平台指出預設網路即將變更時,系統會將有效的 QUIC 連線遷移至新網路。

傳回
ConnectionMigrationOptions.Builder

這個建構工具,用於鏈結

enablePathDegradationMigration

public ConnectionMigrationOptions.Builder enablePathDegradationMigration(boolean enable)

如果目前的路徑效能不佳,系統可能會遷移連線。

視其他設定而定,這可能會導致連線遷移至相同預設網路,或遷移至非預設網路。

傳回
ConnectionMigrationOptions.Builder

這個建構工具,用於鏈結

migrateIdleConnections

@ConnectionMigrationOptions.Experimental
public ConnectionMigrationOptions.Builder migrateIdleConnections(boolean migrateIdleConnections)

設定是否要啟用閒置連線的遷移作業。

如果設為 true,只要閒置時間不長,系統也會遷移閒置連線。這項設定適用於所有連線遷移類型。您可以使用 setIdleConnectionMigrationPeriodSeconds 自訂連線仍會遷移的最大閒置時間。

傳回
ConnectionMigrationOptions.Builder

這個建構工具,用於鏈結

retryPreHandshakeErrorsOnNonDefaultNetwork

@ConnectionMigrationOptions.Experimental
public ConnectionMigrationOptions.Builder retryPreHandshakeErrorsOnNonDefaultNetwork(
    boolean retryPreHandshakeErrorsOnAlternateNetwork
)

設定是否要在替代網路上重試發生預先交握錯誤的連線。

如果為 true,在確認信號交換前,如果預設網路連線失敗,系統可能會透過替代網路建立新連線。

注意:與 allowNonDefaultNetworkUsage 類似,這項設定可能會導致系統在非預設的計量付費網路上傳送要求。請謹慎使用!

傳回
ConnectionMigrationOptions.Builder

這個建構工具,用於鏈結

setIdleConnectionMigrationPeriodSeconds

@ConnectionMigrationOptions.Experimental
public ConnectionMigrationOptions.Builder setIdleConnectionMigrationPeriodSeconds(
    long idleConnectionMigrationPeriodSeconds
)

設定連線仍會遷移的閒置時間上限 (以秒為單位)。這項設定適用於所有連線遷移類型。

只有在啟用 migrateIdleConnections 時才適用。

傳回
ConnectionMigrationOptions.Builder

這個建構工具,用於鏈結

setMaxPathDegradingNonDefaultNetworkMigrationsCount

@ConnectionMigrationOptions.Experimental
public ConnectionMigrationOptions.Builder setMaxPathDegradingNonDefaultNetworkMigrationsCount(
    int maxPathDegradingEagerMigrationsCount
)

當現有連線發生路徑降級時,設定遷移至非預設網路的次數上限。每個連線的每個網路都會累計計算。

只有在啟用 allowNonDefaultNetworkUsage 時才適用。

傳回
ConnectionMigrationOptions.Builder

這個建構工具,用於鏈結

setMaxTimeOnNonDefaultNetworkSeconds

@ConnectionMigrationOptions.Experimental
public ConnectionMigrationOptions.Builder setMaxTimeOnNonDefaultNetworkSeconds(
    long maxTimeOnNonDefaultNetworkSeconds
)

設定連線積極遷移後,應在非預設網路上停留的最長時間,之後就會遷移回來。這段時間並非累計,而是針對每個連線從預設網路遷移的時間,分別進行測量和比較。

只有在啟用 allowNonDefaultNetworkUsage 時才適用。

傳回
ConnectionMigrationOptions.Builder

這個建構工具,用於鏈結

setMaxWriteErrorNonDefaultNetworkMigrationsCount

@ConnectionMigrationOptions.Experimental
public ConnectionMigrationOptions.Builder setMaxWriteErrorNonDefaultNetworkMigrationsCount(
    int maxWriteErrorEagerMigrationsCount
)

遇到寫入錯誤時,將遷移至非預設網路的次數上限設為 每個連線的每個網路都會累計計算。

只有在啟用 allowNonDefaultNetworkUsage 時才適用。

傳回
ConnectionMigrationOptions.Builder

這個建構工具,用於鏈結