QuicOptions.Builder

class QuicOptions.Builder


Конструктор для QuicOptions .

Краткое содержание

Общественные функции

QuicOptions.Builder !
addAllowedQuicHost (quicHost: String !)

Добавляет хост в список разрешенных хостов QUIC.

QuicOptions.Builder !

Добавляет QUIC-тег для отправки параметров соединения в процессе установления QUIC-соединения, который влияет только на клиентскую часть.

QuicOptions.Builder !

Добавляет QUIC-тег для отправки параметров соединения в процессе установления соединения QUIC.

QuicOptions.Builder !

Добавляет версию QUIC в список версий QUIC, которые необходимо включить.

QuicOptions.Builder !

Устанавливает произвольный флаг QUICHE.

QuicOptions !
build ()

Создает и возвращает окончательный экземпляр QuicOptions на основе значений, указанных в этом конструкторе.

QuicOptions.Builder !

Определяет, следует ли закрывать QUIC-сессии при изменении IP-адреса.

QuicOptions.Builder !
@ QuicOptions.Experimental
delayJobsWithAvailableSpdySession (
delayJobsWithAvailableSpdySession: Boolean
)

Определяет, следует ли Cronet ожидать готовности основного пути (обычно QUIC), даже если существует вторичный путь доступа к серверу (SPDY / HTTP2), который готов немедленно.

QuicOptions.Builder !

Определяет, следует ли включать TLS с 0-RTT.

QuicOptions.Builder !

Определяет, следует ли завершать сеансы QUIC при изменении IP-адреса.

QuicOptions.Builder !
@ QuicOptions.Experimental
increaseBrokenServicePeriodExponentially (
increaseBrokenServicePeriodExponentially: Boolean
)

Определяет, следует ли экспоненциально увеличивать период простоя сервера.

QuicOptions.Builder !

Определяет, следует ли повторять запросы, завершившиеся ошибкой протокола QUIC, без использования каких-либо alt-svc серверов.

QuicOptions.Builder !

Устанавливает тайм-аут для установления SSL-соединения.

QuicOptions.Builder !
setHandshakeUserAgent (handshakeUserAgent: String !)

Задает пользовательский агент для использования вне HTTP-запросов (например, для установления соединения QUIC).

QuicOptions.Builder !
@ RequiresApi (value = VERSION_CODES.O )
setIdleConnectionTimeout (idleConnectionTimeout: Duration )

Аналогично setIdleConnectionTimeoutSeconds , но с использованием java.time.Duration .

QuicOptions.Builder !
setIdleConnectionTimeoutSeconds (idleConnectionTimeoutSeconds: Long )

Устанавливает максимальное время простоя для соединения.

QuicOptions.Builder !
setInMemoryServerConfigsCacheSize (inMemoryServerConfigsCacheSize: Int )

Задает количество конфигураций сервера (метаданные, такие как список альтернативных служб, поддержка QUIC и т. д.), которые должны храниться в памяти.

QuicOptions.Builder !
@ QuicOptions.Experimental
setInitialBrokenServicePeriodSeconds (
initialBrokenServicePeriodSeconds: Long
)

Задает начальное значение, при котором Cronet не должен пытаться использовать QUIC для данного сервера после того, как выяснилось, что поддержка QUIC на этом сервере не работает.

QuicOptions.Builder !
@ QuicOptions.Experimental
setPreCryptoHandshakeIdleTimeoutSeconds (
preCryptoHandshakeIdleTimeoutSeconds: Long
)

Устанавливает максимальное время простоя для соединения, которое еще не завершило SSL-рукопожатие.

QuicOptions.Builder !
@ QuicOptions.Experimental
setRetransmittableOnWireTimeoutMillis (
retransmittableOnWireTimeoutMillis: Long
)

Устанавливает максимально допустимое время между передачей пакетов по сети.

Общественные функции

addAllowedQuicHost

fun addAllowedQuicHost(quicHost: String!): QuicOptions.Builder!

Добавляет хост в список разрешенных хостов QUIC.

Если хосты не указаны, функция добавления хостов в список разрешенных отключается. В противном случае Cronet будет использовать QUIC только при взаимодействии с хостами из списка разрешенных.

Возвраты
QuicOptions.Builder !

конструктор для создания цепочек

addClientConnectionOption

@QuicOptions.QuichePassthroughOption
fun addClientConnectionOption(clientConnectionOption: String!): QuicOptions.Builder!

Добавляет QUIC-тег для отправки параметров соединения в процессе установления QUIC-соединения, который влияет только на клиентскую часть.

Дополнительные сведения см. в addConnectionOption .

addConnectionOption

@QuicOptions.QuichePassthroughOption
fun addConnectionOption(connectionOption: String!): QuicOptions.Builder!

Добавляет QUIC-тег для отправки параметров соединения в процессе установления соединения QUIC.

Теги QUIC должны быть представлены в виде строк длиной до четырех букв (например, NBHD ).

Поскольку теги QUIC находятся в стадии активной разработки, и некоторые из них актуальны только для сервера, Cronet не пытается поддерживать полный список всех поддерживаемых флагов QUIC в рамках API. Флаги. Флаги, поддерживаемые QUICHE, реализацией QUIC, используемой серверами Cronet и Google, можно найти здесь .

Возвраты
QuicOptions.Builder !

конструктор для создания цепочек

addEnabledQuicVersion

@QuicOptions.QuichePassthroughOption
fun addEnabledQuicVersion(enabledQuicVersion: String!): QuicOptions.Builder!

Добавляет версию QUIC в список версий QUIC, которые необходимо включить.

Если версии не указаны, Cronet будет использовать список версий QUIC по умолчанию.

Формат версий определяется системой QUICHE . За исключением фильтрации заведомо устаревших значений, Cronet никак не обрабатывает версии, а просто передает их в QUICHE.

Возвраты
QuicOptions.Builder !

конструктор для создания цепочек

addExtraQuicheFlag

@QuicOptions.QuichePassthroughOption
fun addExtraQuicheFlag(extraQuicheFlag: String!): QuicOptions.Builder!

Устанавливает произвольный флаг QUICHE. Флаги следует передавать в формате FLAG_NAME=FLAG_VALUE . Полный список флагов см. в кодовой базе QUICHE .

Возвраты
QuicOptions.Builder !

конструктор для создания цепочек

строить

fun build(): QuicOptions!

Создает и возвращает окончательный экземпляр QuicOptions на основе значений, указанных в этом конструкторе.

closeSessionsOnIpChange

@QuicOptions.Experimental
fun closeSessionsOnIpChange(closeSessionsOnIpChange: Boolean): QuicOptions.Builder!

Определяет, следует ли закрывать QUIC-сессии при изменении IP-адреса.

Не используйте в сочетании с миграцией соединений (настраивается с помощью ConnectionMigrationOptions ).

Возвраты
QuicOptions.Builder !

конструктор для создания цепочек

delayJobsWithAvailableSpdySession

@QuicOptions.Experimental
fun delayJobsWithAvailableSpdySession(
    delayJobsWithAvailableSpdySession: Boolean
): QuicOptions.Builder!

Определяет, следует ли Cronet ожидать готовности основного пути (обычно QUIC), даже если существует вторичный путь доступа к серверу (SPDY / HTTP2), который готов немедленно.

Возвраты
QuicOptions.Builder !

конструктор для создания цепочек

enableTlsZeroRtt

@QuicOptions.Experimental
fun enableTlsZeroRtt(enableTlsZeroRtt: Boolean): QuicOptions.Builder!

Определяет, следует ли включать TLS с 0-RTT.

0-RTT — это оптимизация производительности, позволяющая избежать дополнительного обмена данными при возобновлении соединения с известным сервером.

Возвраты
QuicOptions.Builder !

конструктор для создания цепочек

goawaySessionsOnIpChange

@QuicOptions.Experimental
fun goawaySessionsOnIpChange(goawaySessionsOnIpChange: Boolean): QuicOptions.Builder!

Определяет, следует ли завершать сеансы QUIC при изменении IP-адреса.

Не используйте в сочетании с миграцией соединений (настраивается с помощью ConnectionMigrationOptions ).

Возвраты
QuicOptions.Builder !

конструктор для создания цепочек

increaseBrokenServicePeriodExponentially

@QuicOptions.Experimental
fun increaseBrokenServicePeriodExponentially(
    increaseBrokenServicePeriodExponentially: Boolean
): QuicOptions.Builder!

Определяет, следует ли экспоненциально увеличивать период простоя сервера.

Если установлено значение true, начальная задержка (настраиваемая параметром setInitialBrokenServicePeriodSeconds ) будет масштабироваться экспоненциально для последующих попыток ( SCALING_FACTOR^NUM_TRIES * delay ). Если значение false, задержка будет масштабироваться линейно (SCALING_FACTOR * NUM_TRIES * delay).

Возвраты
QuicOptions.Builder !

конструктор для создания цепочек

retryWithoutAltSvcOnQuicErrors

@QuicOptions.Experimental
fun retryWithoutAltSvcOnQuicErrors(retryWithoutAltSvcOnQuicErrors: Boolean): QuicOptions.Builder!

Определяет, следует ли повторять запросы, завершившиеся ошибкой протокола QUIC, без использования каких-либо alt-svc серверов.

Возвраты
QuicOptions.Builder !

конструктор для создания цепочек

setCryptoHandshakeTimeoutSeconds

@QuicOptions.Experimental
fun setCryptoHandshakeTimeoutSeconds(cryptoHandshakeTimeoutSeconds: Long): QuicOptions.Builder!

Устанавливает тайм-аут для установления SSL-соединения.

Возвраты
QuicOptions.Builder !

конструктор для создания цепочек

setHandshakeUserAgent

fun setHandshakeUserAgent(handshakeUserAgent: String!): QuicOptions.Builder!

Задает пользовательский агент для использования вне HTTP-запросов (например, для установления соединения QUIC).

Чтобы установить пользовательский агент по умолчанию для HTTP-запросов, используйте вместо этого setUserAgent .

Возвраты
QuicOptions.Builder !

конструктор для создания цепочек

setIdleConnectionTimeout

@RequiresApi(value = VERSION_CODES.O)
fun setIdleConnectionTimeout(idleConnectionTimeout: Duration): QuicOptions.Builder!

Аналогично setIdleConnectionTimeoutSeconds , но с использованием java.time.Duration .

Возвраты
QuicOptions.Builder !

конструктор для создания цепочек

setIdleConnectionTimeoutSeconds

fun setIdleConnectionTimeoutSeconds(idleConnectionTimeoutSeconds: Long): QuicOptions.Builder!

Устанавливает максимальное время простоя для соединения. Фактическое значение таймаута простоя — это минимальное из этого значения и значения сервера, и оно согласовывается во время рукопожатия. Таким образом, оно применяется только после завершения рукопожатия. Если в течение установленного времени на соединении не обнаруживается никакой активности, соединение закрывается.

Более подробная информация приведена в разделе 5.1 RFC 9114 .

Возвраты
QuicOptions.Builder !

конструктор для создания цепочек

setInMemoryServerConfigsCacheSize

fun setInMemoryServerConfigsCacheSize(inMemoryServerConfigsCacheSize: Int): QuicOptions.Builder!

Задает количество конфигураций сервера (метаданные, такие как список альтернативных служб, поддержка QUIC и т. д.), которые должны храниться в памяти.

Если задан путь к хранилищу ( setStoragePath , Cronet также сохранит конфигурации сервера на диске.

Возвраты
QuicOptions.Builder !

конструктор для создания цепочек

setInitialBrokenServicePeriodSeconds

@QuicOptions.Experimental
fun setInitialBrokenServicePeriodSeconds(
    initialBrokenServicePeriodSeconds: Long
): QuicOptions.Builder!

Задает начальное значение, при котором Cronet не должен пытаться использовать QUIC для данного сервера после того, как выяснилось, что поддержка QUIC на этом сервере не работает.

Как только Cronet обнаружит, что сервер рекламирует QUIC, но фактически не использует его, он помечает сервер как неисправный и в течение определенного времени не пытается использовать QUIC при взаимодействии с ним. После истечения этого срока Cronet снова попытается использовать QUIC. Это делается для баланса между краткосрочными (нет смысла тратить ресурсы на попытки использования QUIC, если сервер неисправен) и долгосрочными (неисправность могла быть временной, использование QUIC, как правило, выгодно).

Задержка увеличивается с каждой последующей неудачной попыткой. Подробности см. в increaseBrokenServicePeriodExponentially .

Возвраты
QuicOptions.Builder !

конструктор для создания цепочек

setPreCryptoHandshakeIdleTimeoutSeconds

@QuicOptions.Experimental
fun setPreCryptoHandshakeIdleTimeoutSeconds(
    preCryptoHandshakeIdleTimeoutSeconds: Long
): QuicOptions.Builder!

Устанавливает максимальное время простоя для соединения, которое еще не завершило SSL-рукопожатие.

Возвраты
QuicOptions.Builder !

конструктор для создания цепочек

setRetransmittableOnWireTimeoutMillis

@QuicOptions.Experimental
fun setRetransmittableOnWireTimeoutMillis(
    retransmittableOnWireTimeoutMillis: Long
): QuicOptions.Builder!

Устанавливает максимально допустимое время между передачей пакетов по сети.

Когда время повторной передачи по сети превышается, Cronet проверяет качество сети с помощью искусственного трафика. Меньшие значения таймаута обычно приводят к более быстрому обнаружению обрыва или ухудшения качества связи, но также и к большему потреблению ресурсов (батареи, данных).

Возвраты
QuicOptions.Builder !

конструктор для создания цепочек