QuicOptions.Builder

public class QuicOptions.Builder


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

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

Общедоступные методы

QuicOptions.Builder

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

QuicOptions.Builder

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

QuicOptions.Builder

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

QuicOptions.Builder

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

QuicOptions.Builder

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

QuicOptions
build ()

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

QuicOptions.Builder
@ QuicOptions.Experimental
closeSessionsOnIpChange (boolean closeSessionsOnIpChange)

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

QuicOptions.Builder
@ QuicOptions.Experimental
delayJobsWithAvailableSpdySession (
boolean delayJobsWithAvailableSpdySession
)

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

QuicOptions.Builder
@ QuicOptions.Experimental
enableTlsZeroRtt (boolean enableTlsZeroRtt)

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

QuicOptions.Builder
@ QuicOptions.Experimental
goawaySessionsOnIpChange (boolean goawaySessionsOnIpChange)

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

QuicOptions.Builder
@ QuicOptions.Experimental
increaseBrokenServicePeriodExponentially (
boolean increaseBrokenServicePeriodExponentially
)

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

QuicOptions.Builder
@ QuicOptions.Experimental
retryWithoutAltSvcOnQuicErrors (boolean retryWithoutAltSvcOnQuicErrors)

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

QuicOptions.Builder
@ QuicOptions.Experimental
setCryptoHandshakeTimeoutSeconds (long cryptoHandshakeTimeoutSeconds)

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

QuicOptions.Builder
setHandshakeUserAgent ( String handshakeUserAgent)

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

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

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

QuicOptions.Builder
setIdleConnectionTimeoutSeconds (long idleConnectionTimeoutSeconds)

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

QuicOptions.Builder
setInMemoryServerConfigsCacheSize (int inMemoryServerConfigsCacheSize)

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

QuicOptions.Builder
@ QuicOptions.Experimental
setInitialBrokenServicePeriodSeconds (
long initialBrokenServicePeriodSeconds
)

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

QuicOptions.Builder
@ QuicOptions.Experimental
setPreCryptoHandshakeIdleTimeoutSeconds (
long preCryptoHandshakeIdleTimeoutSeconds
)

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

QuicOptions.Builder
@ QuicOptions.Experimental
setRetransmittableOnWireTimeoutMillis (
long retransmittableOnWireTimeoutMillis
)

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

Общедоступные методы

addAllowedQuicHost

public QuicOptions.Builder addAllowedQuicHost(String quicHost)

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

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

Возвраты
QuicOptions.Builder

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

addClientConnectionOption

@QuicOptions.QuichePassthroughOption
public QuicOptions.Builder addClientConnectionOption(String clientConnectionOption)

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

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

addConnectionOption

@QuicOptions.QuichePassthroughOption
public QuicOptions.Builder addConnectionOption(String connectionOption)

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

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

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

Возвраты
QuicOptions.Builder

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

addEnabledQuicVersion

@QuicOptions.QuichePassthroughOption
public QuicOptions.Builder addEnabledQuicVersion(String enabledQuicVersion)

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

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

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

Возвраты
QuicOptions.Builder

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

addExtraQuicheFlag

@QuicOptions.QuichePassthroughOption
public QuicOptions.Builder addExtraQuicheFlag(String extraQuicheFlag)

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

Возвраты
QuicOptions.Builder

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

строить

public QuicOptions build()

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

closeSessionsOnIpChange

@QuicOptions.Experimental
public QuicOptions.Builder closeSessionsOnIpChange(boolean closeSessionsOnIpChange)

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

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

Возвраты
QuicOptions.Builder

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

delayJobsWithAvailableSpdySession

@QuicOptions.Experimental
public QuicOptions.Builder delayJobsWithAvailableSpdySession(
    boolean delayJobsWithAvailableSpdySession
)

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

Возвраты
QuicOptions.Builder

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

enableTlsZeroRtt

@QuicOptions.Experimental
public QuicOptions.Builder enableTlsZeroRtt(boolean enableTlsZeroRtt)

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

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

Возвраты
QuicOptions.Builder

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

goawaySessionsOnIpChange

@QuicOptions.Experimental
public QuicOptions.Builder goawaySessionsOnIpChange(boolean goawaySessionsOnIpChange)

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

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

Возвраты
QuicOptions.Builder

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

increaseBrokenServicePeriodExponentially

@QuicOptions.Experimental
public QuicOptions.Builder increaseBrokenServicePeriodExponentially(
    boolean increaseBrokenServicePeriodExponentially
)

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

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

Возвраты
QuicOptions.Builder

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

retryWithoutAltSvcOnQuicErrors

@QuicOptions.Experimental
public QuicOptions.Builder retryWithoutAltSvcOnQuicErrors(boolean retryWithoutAltSvcOnQuicErrors)

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

Возвраты
QuicOptions.Builder

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

setCryptoHandshakeTimeoutSeconds

@QuicOptions.Experimental
public QuicOptions.Builder setCryptoHandshakeTimeoutSeconds(long cryptoHandshakeTimeoutSeconds)

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

Возвраты
QuicOptions.Builder

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

setHandshakeUserAgent

public QuicOptions.Builder setHandshakeUserAgent(String handshakeUserAgent)

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

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

Возвраты
QuicOptions.Builder

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

setIdleConnectionTimeout

@RequiresApi(value = VERSION_CODES.O)
public QuicOptions.Builder setIdleConnectionTimeout(@NonNull Duration idleConnectionTimeout)

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

Возвраты
QuicOptions.Builder

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

setIdleConnectionTimeoutSeconds

public QuicOptions.Builder setIdleConnectionTimeoutSeconds(long idleConnectionTimeoutSeconds)

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

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

Возвраты
QuicOptions.Builder

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

setInMemoryServerConfigsCacheSize

public QuicOptions.Builder setInMemoryServerConfigsCacheSize(int inMemoryServerConfigsCacheSize)

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

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

Возвраты
QuicOptions.Builder

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

setInitialBrokenServicePeriodSeconds

@QuicOptions.Experimental
public QuicOptions.Builder setInitialBrokenServicePeriodSeconds(
    long initialBrokenServicePeriodSeconds
)

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

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

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

Возвраты
QuicOptions.Builder

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

setPreCryptoHandshakeIdleTimeoutSeconds

@QuicOptions.Experimental
public QuicOptions.Builder setPreCryptoHandshakeIdleTimeoutSeconds(
    long preCryptoHandshakeIdleTimeoutSeconds
)

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

Возвраты
QuicOptions.Builder

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

setRetransmittableOnWireTimeoutMillis

@QuicOptions.Experimental
public QuicOptions.Builder setRetransmittableOnWireTimeoutMillis(
    long retransmittableOnWireTimeoutMillis
)

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

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

Возвраты
QuicOptions.Builder

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