QuicOptions.Builder

public class QuicOptions.Builder


Builder per QuicOptions.

Riepilogo

Metodi pubblici

QuicOptions.Builder

Aggiunge un host alla lista consentita QUIC.

QuicOptions.Builder

Aggiunge un tag QUIC da inviare nelle opzioni di connessione dell'handshake QUIC che influisce solo sul client.

QuicOptions.Builder

Aggiunge un tag QUIC da inviare nelle opzioni di connessione dell'handshake QUIC.

QuicOptions.Builder

Aggiunge una versione di QUIC all'elenco delle versioni di QUIC da attivare.

QuicOptions.Builder

Imposta un flag QUICHE arbitrario.

QuicOptions

Crea e restituisce l'istanza QuicOptions finale in base ai valori in questo builder.

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

Specifica se le sessioni QUIC devono essere chiuse in caso di modifica dell'indirizzo IP.

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

Specifica se Cronet deve attendere che il percorso principale (di solito QUIC) sia pronto anche se esiste un percorso secondario per raggiungere il server (SPDY / HTTP2) che è pronto immediatamente.

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

Specifica se TLS con 0-RTT deve essere abilitato.

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

Specifica se le sessioni QUIC devono essere chiuse in caso di modifica dell'indirizzo IP.

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

Imposta se il periodo di server non funzionante deve essere scalato in modo esponenziale.

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

Specifica se le richieste non andate a buon fine a causa di errori del protocollo QUIC devono essere ritentate senza utilizzare server alt-svc.

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

Imposta il timeout per l'handshake SSL di una connessione.

QuicOptions.Builder
setHandshakeUserAgent(String handshakeUserAgent)

Imposta lo user agent da utilizzare al di fuori delle richieste HTTP (ad esempio per gli handshake QUIC).

QuicOptions.Builder

Uguale a setIdleConnectionTimeoutSeconds, ma utilizzando java.time.Duration.

QuicOptions.Builder
setIdleConnectionTimeoutSeconds(long idleConnectionTimeoutSeconds)

Imposta il tempo di inattività massimo per una connessione.

QuicOptions.Builder
setInMemoryServerConfigsCacheSize(int inMemoryServerConfigsCacheSize)

Imposta il numero di configurazioni del server (metadati come l'elenco di alt svc, se QUIC è supportato e così via) da conservare in memoria.

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

Imposta l'intervallo iniziale per il quale Cronet non deve tentare di utilizzare QUIC per un determinato server dopo che il supporto QUIC del server si è rivelato non funzionante.

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

Imposta il tempo di inattività massimo per una connessione che non ha ancora completato un handshake SSL.

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

Imposta il tempo massimo desiderato tra i pacchetti sul cavo.

Metodi pubblici

addAllowedQuicHost

public QuicOptions.Builder addAllowedQuicHost(String quicHost)

Aggiunge un host alla lista consentita QUIC.

Se non vengono specificati host, la funzionalità di lista consentita per host è disattivata. In caso contrario, Cronet utilizzerà QUIC solo quando comunica con gli host nella lista consentita.

Resi
QuicOptions.Builder

il builder per il concatenamento

addClientConnectionOption

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

Aggiunge un tag QUIC da inviare nelle opzioni di connessione dell'handshake QUIC che influisce solo sul client.

Per ulteriori dettagli, consulta addConnectionOption.

addConnectionOption

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

Aggiunge un tag QUIC da inviare nelle opzioni di connessione dell'handshake QUIC.

I tag QUIC devono essere presentati come stringhe di massimo quattro lettere (ad esempio, NBHD).

Poiché i tag QUIC sono in fase di sviluppo attivo e alcuni sono pertinenti solo per il server, Cronet non tenta di mantenere un elenco completo di tutti i flag QUIC supportati nell'ambito dell'API. I flag. I flag supportati da QUICHE, un'implementazione di QUIC utilizzata da Cronet e dai server Google, sono disponibili qui.

Resi
QuicOptions.Builder

il builder per il concatenamento

addEnabledQuicVersion

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

Aggiunge una versione di QUIC all'elenco delle versioni di QUIC da attivare.

Se non vengono specificate versioni, Cronet utilizzerà un elenco di versioni QUIC predefinite.

Il formato della versione è specificato da QUICHE. Al di fuori del filtraggio dei valori noti per essere obsoleti, Cronet non elabora le versioni e le trasmette semplicemente a QUICHE.

Resi
QuicOptions.Builder

il builder per il concatenamento

addExtraQuicheFlag

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

Imposta un flag QUICHE arbitrario. I flag devono essere passati nel formato FLAG_NAME=FLAG_VALUE. Per un elenco completo dei flag, consulta la codebase QUICHE.

Resi
QuicOptions.Builder

il builder per il concatenamento

build

public QuicOptions build()

Crea e restituisce l'istanza QuicOptions finale in base ai valori in questo builder.

closeSessionsOnIpChange

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

Specifica se le sessioni QUIC devono essere chiuse in caso di modifica dell'indirizzo IP.

Non utilizzare in combinazione con la migrazione della connessione (configurata utilizzando ConnectionMigrationOptions).

Resi
QuicOptions.Builder

il builder per il concatenamento

delayJobsWithAvailableSpdySession

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

Specifica se Cronet deve attendere che il percorso principale (di solito QUIC) sia pronto anche se esiste un percorso secondario per raggiungere il server (SPDY / HTTP2) che è pronto immediatamente.

Resi
QuicOptions.Builder

il builder per il concatenamento

enableTlsZeroRtt

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

Specifica se TLS con 0-RTT deve essere abilitato.

0-RTT è un'ottimizzazione delle prestazioni che evita un round trip aggiuntivo quando si riprendono le connessioni a un server noto.

Resi
QuicOptions.Builder

il builder per il concatenamento

goawaySessionsOnIpChange

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

Specifica se le sessioni QUIC devono essere chiuse in caso di modifica dell'indirizzo IP.

Non utilizzare in combinazione con la migrazione della connessione (configurata utilizzando ConnectionMigrationOptions).

Resi
QuicOptions.Builder

il builder per il concatenamento

increaseBrokenServicePeriodExponentially

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

Imposta se il periodo di server non funzionante deve essere scalato in modo esponenziale.

Se impostato su true, il ritardo iniziale (configurabile tramite setInitialBrokenServicePeriodSeconds) verrà scalato in modo esponenziale per i tentativi successivi (SCALING_FACTOR^NUM_TRIES * delay). Se impostato su false, il ritardo verrà scalato in modo lineare (SCALING_FACTOR * NUM_TRIES * delay).

Resi
QuicOptions.Builder

il builder per il concatenamento

retryWithoutAltSvcOnQuicErrors

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

Specifica se le richieste non andate a buon fine a causa di errori del protocollo QUIC devono essere ritentate senza utilizzare server alt-svc.

Resi
QuicOptions.Builder

il builder per il concatenamento

setCryptoHandshakeTimeoutSeconds

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

Imposta il timeout per l'handshake SSL di una connessione.

Resi
QuicOptions.Builder

il builder per il concatenamento

setHandshakeUserAgent

public QuicOptions.Builder setHandshakeUserAgent(String handshakeUserAgent)

Imposta lo user agent da utilizzare al di fuori delle richieste HTTP (ad esempio per gli handshake QUIC).

Per impostare lo user agent predefinito per le richieste HTTP, utilizza setUserAgent.

Resi
QuicOptions.Builder

il builder per il concatenamento

setIdleConnectionTimeout

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

Uguale a setIdleConnectionTimeoutSeconds, ma utilizzando java.time.Duration.

Resi
QuicOptions.Builder

il builder per il concatenamento

setIdleConnectionTimeoutSeconds

public QuicOptions.Builder setIdleConnectionTimeoutSeconds(long idleConnectionTimeoutSeconds)

Imposta il tempo di inattività massimo per una connessione. Il valore effettivo del timeout di inattività è il minimo tra questo valore e quello del server e viene negoziato durante l'handshake. Pertanto, si applica solo dopo il completamento dell'handshake. Se non viene rilevata alcuna attività sulla connessione per la durata impostata, la connessione viene chiusa.

Per saperne di più, consulta RFC 9114, sezione 5.1 .

Resi
QuicOptions.Builder

il builder per il concatenamento

setInMemoryServerConfigsCacheSize

public QuicOptions.Builder setInMemoryServerConfigsCacheSize(int inMemoryServerConfigsCacheSize)

Imposta il numero di configurazioni del server (metadati come l'elenco di alt svc, se QUIC è supportato e così via) da conservare in memoria.

Se il percorso di archiviazione è impostato (setStoragePath), Cronet manterrà anche le configurazioni del server sul disco.

Resi
QuicOptions.Builder

il builder per il concatenamento

setInitialBrokenServicePeriodSeconds

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

Imposta l'intervallo iniziale per cui Cronet non deve tentare di utilizzare QUIC per un determinato server dopo che il supporto QUIC del server si è rivelato non funzionante.

Quando Cronet rileva che un server pubblicizza QUIC, ma in realtà non lo utilizza, lo contrassegna come non funzionante e non tenta di utilizzare QUIC quando comunica con il server per un determinato periodo di tempo. Una volta superato questo punto, Cronet proverà a utilizzare di nuovo QUIC. Questo per bilanciare gli interessi a breve termine (non ha senso sprecare risorse per provare QUIC se il server non funziona) e a lungo termine (il problema potrebbe essere stato temporaneo, l'utilizzo di QUIC è generalmente vantaggioso).

Il ritardo aumenta a ogni nuovo tentativo consecutivo non riuscito. Per i dettagli, visita la pagina increaseBrokenServicePeriodExponentially.

Resi
QuicOptions.Builder

il builder per il concatenamento

setPreCryptoHandshakeIdleTimeoutSeconds

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

Imposta il tempo di inattività massimo per una connessione che non ha ancora completato un handshake SSL.

Resi
QuicOptions.Builder

il builder per il concatenamento

setRetransmittableOnWireTimeoutMillis

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

Imposta il tempo massimo desiderato tra i pacchetti sul cavo.

Quando il tempo di ritrasmissione via cavo viene superato, Cronet esamina la qualità della rete utilizzando il traffico artificiale. Timeout più brevi in genere comportano un rilevamento più rapido di un percorso interrotto o in deterioramento, ma anche un maggiore utilizzo delle risorse (batteria, dati).

Resi
QuicOptions.Builder

il builder per il concatenamento