QuicOptions.Builder

class QuicOptions.Builder


Builder per QuicOptions.

Riepilogo

Funzioni pubbliche

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!

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

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

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!

Specifica se TLS con 0-RTT deve essere abilitato.

QuicOptions.Builder!

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

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

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

QuicOptions.Builder!

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!

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

QuicOptions.Builder!
setHandshakeUserAgent(handshakeUserAgent: String!)

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

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

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

QuicOptions.Builder!
setIdleConnectionTimeoutSeconds(idleConnectionTimeoutSeconds: Long)

Imposta il tempo di inattività massimo per una connessione.

QuicOptions.Builder!
setInMemoryServerConfigsCacheSize(inMemoryServerConfigsCacheSize: Int)

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(
    initialBrokenServicePeriodSeconds: Long
)

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(
    preCryptoHandshakeIdleTimeoutSeconds: Long
)

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

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

Imposta il tempo massimo desiderato tra i pacchetti sul cavo.

Funzioni pubbliche

addAllowedQuicHost

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

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
fun addClientConnectionOption(clientConnectionOption: String!): QuicOptions.Builder!

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
fun addConnectionOption(connectionOption: String!): QuicOptions.Builder!

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
fun addEnabledQuicVersion(enabledQuicVersion: String!): QuicOptions.Builder!

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
fun addExtraQuicheFlag(extraQuicheFlag: String!): QuicOptions.Builder!

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

fun build(): QuicOptions!

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

closeSessionsOnIpChange

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

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
fun delayJobsWithAvailableSpdySession(
    delayJobsWithAvailableSpdySession: Boolean
): QuicOptions.Builder!

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
fun enableTlsZeroRtt(enableTlsZeroRtt: Boolean): QuicOptions.Builder!

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
fun goawaySessionsOnIpChange(goawaySessionsOnIpChange: Boolean): QuicOptions.Builder!

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
fun increaseBrokenServicePeriodExponentially(
    increaseBrokenServicePeriodExponentially: Boolean
): QuicOptions.Builder!

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
fun retryWithoutAltSvcOnQuicErrors(retryWithoutAltSvcOnQuicErrors: Boolean): QuicOptions.Builder!

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
fun setCryptoHandshakeTimeoutSeconds(cryptoHandshakeTimeoutSeconds: Long): QuicOptions.Builder!

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

Resi
QuicOptions.Builder!

il builder per il concatenamento

setHandshakeUserAgent

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

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)
fun setIdleConnectionTimeout(idleConnectionTimeout: Duration): QuicOptions.Builder!

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

Resi
QuicOptions.Builder!

il builder per il concatenamento

setIdleConnectionTimeoutSeconds

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

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

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

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
fun setInitialBrokenServicePeriodSeconds(
    initialBrokenServicePeriodSeconds: Long
): QuicOptions.Builder!

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.

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
fun setPreCryptoHandshakeIdleTimeoutSeconds(
    preCryptoHandshakeIdleTimeoutSeconds: Long
): QuicOptions.Builder!

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
fun setRetransmittableOnWireTimeoutMillis(
    retransmittableOnWireTimeoutMillis: Long
): QuicOptions.Builder!

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