ConnectionMigrationOptions.Builder

class ConnectionMigrationOptions.Builder


ConnectionMigrationOptions 的建構工具。

摘要

公開函式

ConnectionMigrationOptions.Builder!

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

ConnectionMigrationOptions.Builder!

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

ConnectionMigrationOptions!

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

ConnectionMigrationOptions.Builder!
enableDefaultNetworkMigration(
    enableDefaultNetworkConnectionMigration: Boolean
)

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

ConnectionMigrationOptions.Builder!

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

ConnectionMigrationOptions.Builder!

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

ConnectionMigrationOptions.Builder!

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

ConnectionMigrationOptions.Builder!

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

ConnectionMigrationOptions.Builder!

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

ConnectionMigrationOptions.Builder!

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

ConnectionMigrationOptions.Builder!

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

公開函式

allowNonDefaultNetworkUsage

@ConnectionMigrationOptions.Experimental
fun allowNonDefaultNetworkUsage(enable: Boolean): ConnectionMigrationOptions.Builder!

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

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

傳回
ConnectionMigrationOptions.Builder!

這個建構工具,用於鏈結

allowServerMigration

@ConnectionMigrationOptions.Experimental
fun allowServerMigration(allowServerMigration: Boolean): ConnectionMigrationOptions.Builder!

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

傳回
ConnectionMigrationOptions.Builder!

這個建構工具,用於鏈結

build

fun build(): ConnectionMigrationOptions!

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

enableDefaultNetworkMigration

fun enableDefaultNetworkMigration(
    enableDefaultNetworkConnectionMigration: Boolean
): ConnectionMigrationOptions.Builder!

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

傳回
ConnectionMigrationOptions.Builder!

這個建構工具,用於鏈結

enablePathDegradationMigration

fun enablePathDegradationMigration(enable: Boolean): ConnectionMigrationOptions.Builder!

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

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

傳回
ConnectionMigrationOptions.Builder!

這個建構工具,用於鏈結

migrateIdleConnections

@ConnectionMigrationOptions.Experimental
fun migrateIdleConnections(migrateIdleConnections: Boolean): ConnectionMigrationOptions.Builder!

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

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

傳回
ConnectionMigrationOptions.Builder!

這個建構工具,用於鏈結

retryPreHandshakeErrorsOnNonDefaultNetwork

@ConnectionMigrationOptions.Experimental
fun retryPreHandshakeErrorsOnNonDefaultNetwork(
    retryPreHandshakeErrorsOnAlternateNetwork: Boolean
): ConnectionMigrationOptions.Builder!

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

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

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

傳回
ConnectionMigrationOptions.Builder!

這個建構工具,用於鏈結

setIdleConnectionMigrationPeriodSeconds

@ConnectionMigrationOptions.Experimental
fun setIdleConnectionMigrationPeriodSeconds(
    idleConnectionMigrationPeriodSeconds: Long
): ConnectionMigrationOptions.Builder!

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

只有在啟用 migrateIdleConnections 時才適用。

傳回
ConnectionMigrationOptions.Builder!

這個建構工具,用於鏈結

setMaxPathDegradingNonDefaultNetworkMigrationsCount

@ConnectionMigrationOptions.Experimental
fun setMaxPathDegradingNonDefaultNetworkMigrationsCount(
    maxPathDegradingEagerMigrationsCount: Int
): ConnectionMigrationOptions.Builder!

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

只有在啟用 allowNonDefaultNetworkUsage 時才適用。

傳回
ConnectionMigrationOptions.Builder!

這個建構工具,用於鏈結

setMaxTimeOnNonDefaultNetworkSeconds

@ConnectionMigrationOptions.Experimental
fun setMaxTimeOnNonDefaultNetworkSeconds(
    maxTimeOnNonDefaultNetworkSeconds: Long
): ConnectionMigrationOptions.Builder!

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

只有在啟用 allowNonDefaultNetworkUsage 時才適用。

傳回
ConnectionMigrationOptions.Builder!

這個建構工具,用於鏈結

setMaxWriteErrorNonDefaultNetworkMigrationsCount

@ConnectionMigrationOptions.Experimental
fun setMaxWriteErrorNonDefaultNetworkMigrationsCount(
    maxWriteErrorEagerMigrationsCount: Int
): ConnectionMigrationOptions.Builder!

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

只有在啟用 allowNonDefaultNetworkUsage 時才適用。

傳回
ConnectionMigrationOptions.Builder!

這個建構工具,用於鏈結