QuicOptions.Builder

public class QuicOptions.Builder


Compilateur pour QuicOptions.

Résumé

Méthodes publiques

QuicOptions.Builder

Ajoute un hôte à la liste d'autorisation QUIC.

QuicOptions.Builder

Ajoute un tag QUIC à envoyer dans les options de connexion d'une négociation QUIC, qui n'affecte que le client.

QuicOptions.Builder

Ajoute un tag QUIC à envoyer dans les options de connexion d'une négociation QUIC.

QuicOptions.Builder

Ajoute une version QUIC à la liste des versions QUIC à activer.

QuicOptions.Builder

Définit un indicateur QUICHE arbitraire.

QuicOptions

Crée et renvoie l'instance QuicOptions finale, en fonction des valeurs de ce compilateur.

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

Indique si les sessions QUIC doivent être fermées en cas de changement d'adresse IP.

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

Indique si Cronet doit attendre que le chemin principal (généralement QUIC) soit prêt, même s'il existe un chemin secondaire pour atteindre le serveur (SPDY / HTTP2) qui est prêt immédiatement.

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

Indique si TLS avec 0-RTT doit être activé.

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

Indique si les sessions QUIC doivent être fermées en cas de changement d'adresse IP.

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

Indique si la période de serveur défaillant doit être mise à l'échelle de manière exponentielle.

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

Indique si les requêtes ayant échoué en raison d'erreurs du protocole QUIC doivent être relancées sans utiliser de serveurs alt-svc.

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

Définit le délai d'attente pour un handshake SSL de connexion.

QuicOptions.Builder
setHandshakeUserAgent(String handshakeUserAgent)

Définit l'user-agent à utiliser en dehors des requêtes HTTP (par exemple, pour les handshakes QUIC).

QuicOptions.Builder

Identique à setIdleConnectionTimeoutSeconds, mais utilise java.time.Duration.

QuicOptions.Builder
setIdleConnectionTimeoutSeconds(long idleConnectionTimeoutSeconds)

Définit la durée d'inactivité maximale d'une connexion.

QuicOptions.Builder
setInMemoryServerConfigsCacheSize(int inMemoryServerConfigsCacheSize)

Définit le nombre de configurations de serveur (métadonnées telles que la liste des services alternatifs, la compatibilité QUIC, etc.) à conserver en mémoire.

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

Définit la valeur initiale pour laquelle Cronet ne doit pas essayer d'utiliser QUIC pour un serveur donné après que la compatibilité QUIC du serveur s'est avérée défectueuse.

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

Définit le temps d'inactivité maximal pour une connexion qui n'a pas encore effectué de handshake SSL.

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

Définit le délai maximal souhaité entre les paquets sur le réseau.

Méthodes publiques

addAllowedQuicHost

public QuicOptions.Builder addAllowedQuicHost(String quicHost)

Ajoute un hôte à la liste d'autorisation QUIC.

Si aucun hôte n'est spécifié, la fonctionnalité de liste d'autorisation par hôte est désactivée. Sinon, Cronet n'utilisera QUIC que pour communiquer avec les hôtes figurant sur la liste d'autorisation.

Renvoie
QuicOptions.Builder

Compilateur pour le chaînage

addClientConnectionOption

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

Ajoute un tag QUIC à envoyer dans les options de connexion d'une négociation QUIC, qui n'affecte que le client.

Pour en savoir plus, consultez addConnectionOption.

addConnectionOption

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

Ajoute un tag QUIC à envoyer dans les options de connexion d'une négociation QUIC.

Les balises QUIC doivent se présenter sous la forme de chaînes de caractères d'une longueur maximale de quatre lettres (par exemple, NBHD).

Étant donné que les tags QUIC sont en cours de développement et que certains ne concernent que le serveur, Cronet ne tente pas de maintenir une liste complète de tous les indicateurs QUIC compatibles dans l'API. Les indicateurs. Pour consulter les indicateurs compatibles avec QUICHE, une implémentation QUIC utilisée par Cronet et les serveurs Google, cliquez ici.

Renvoie
QuicOptions.Builder

Compilateur pour le chaînage

addEnabledQuicVersion

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

Ajoute une version QUIC à la liste des versions QUIC à activer.

Si aucune version n'est spécifiée, Cronet utilisera une liste de versions QUIC par défaut.

Le format de la version est spécifié par QUICHE. En dehors du filtrage des valeurs connues comme obsolètes, Cronet ne traite pas les versions et les transmet simplement à QUICHE.

Renvoie
QuicOptions.Builder

Compilateur pour le chaînage

addExtraQuicheFlag

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

Définit un indicateur QUICHE arbitraire. Les indicateurs doivent être transmis au format FLAG_NAME=FLAG_VALUE. Pour obtenir la liste complète des options, consultez la base de code QUICHE.

Renvoie
QuicOptions.Builder

Compilateur pour le chaînage

build

public QuicOptions build()

Crée et renvoie l'instance QuicOptions finale, en fonction des valeurs de ce compilateur.

closeSessionsOnIpChange

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

Indique si les sessions QUIC doivent être fermées en cas de changement d'adresse IP.

Ne pas utiliser en association avec la migration de connexion (configurée à l'aide de ConnectionMigrationOptions).

Renvoie
QuicOptions.Builder

Compilateur pour le chaînage

delayJobsWithAvailableSpdySession

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

Indique si Cronet doit attendre que le chemin principal (généralement QUIC) soit prêt, même s'il existe un chemin secondaire pour atteindre le serveur (SPDY / HTTP2) qui est prêt immédiatement.

Renvoie
QuicOptions.Builder

Compilateur pour le chaînage

enableTlsZeroRtt

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

Indique si TLS avec 0-RTT doit être activé.

0-RTT est une optimisation des performances qui évite un aller-retour supplémentaire lors de la reprise des connexions à un serveur connu.

Renvoie
QuicOptions.Builder

Compilateur pour le chaînage

goawaySessionsOnIpChange

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

Indique si les sessions QUIC doivent être fermées en cas de changement d'adresse IP.

Ne pas utiliser en association avec la migration de connexion (configurée à l'aide de ConnectionMigrationOptions).

Renvoie
QuicOptions.Builder

Compilateur pour le chaînage

increaseBrokenServicePeriodExponentially

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

Indique si la période de serveur défaillant doit être mise à l'échelle de manière exponentielle.

Si la valeur est définie sur "true", le délai initial (configurable par setInitialBrokenServicePeriodSeconds) sera mis à l'échelle de manière exponentielle pour les tentatives ultérieures (SCALING_FACTOR^NUM_TRIES * delay). Si la valeur est définie sur "false", le délai sera mis à l'échelle de manière linéaire (FACTEUR_DE_MISE_À_L'ÉCHELLE * NUM_TENTATIVES * délai).

Renvoie
QuicOptions.Builder

Compilateur pour le chaînage

retryWithoutAltSvcOnQuicErrors

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

Indique si les requêtes ayant échoué en raison d'erreurs du protocole QUIC doivent être relancées sans utiliser de serveurs alt-svc.

Renvoie
QuicOptions.Builder

Compilateur pour le chaînage

setCryptoHandshakeTimeoutSeconds

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

Définit le délai d'attente pour un handshake SSL de connexion.

Renvoie
QuicOptions.Builder

Compilateur pour le chaînage

setHandshakeUserAgent

public QuicOptions.Builder setHandshakeUserAgent(String handshakeUserAgent)

Définit l'user-agent à utiliser en dehors des requêtes HTTP (par exemple, pour les handshakes QUIC).

Pour définir l'agent utilisateur par défaut pour les requêtes HTTP, utilisez plutôt setUserAgent.

Renvoie
QuicOptions.Builder

Compilateur pour le chaînage

setIdleConnectionTimeout

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

Identique à setIdleConnectionTimeoutSeconds, mais utilise java.time.Duration.

Renvoie
QuicOptions.Builder

Compilateur pour le chaînage

setIdleConnectionTimeoutSeconds

public QuicOptions.Builder setIdleConnectionTimeoutSeconds(long idleConnectionTimeoutSeconds)

Définit la durée d'inactivité maximale d'une connexion. La valeur réelle du délai d'inactivité est la valeur minimale entre cette valeur et celle du serveur. Elle est négociée lors de l'établissement de la connexion. Par conséquent, elle ne s'applique qu'une fois la prise de contact terminée. Si aucune activité n'est détectée sur la connexion pendant la durée définie, la connexion est fermée.

Pour en savoir plus, consultez la section 5.1 de la RFC 9114 .

Renvoie
QuicOptions.Builder

Compilateur pour le chaînage

setInMemoryServerConfigsCacheSize

public QuicOptions.Builder setInMemoryServerConfigsCacheSize(int inMemoryServerConfigsCacheSize)

Définit le nombre de configurations de serveur (métadonnées telles que la liste des services alternatifs, la compatibilité QUIC, etc.) à conserver en mémoire.

Si le chemin de stockage est défini (setStoragePath), Cronet conservera également les configurations du serveur sur le disque.

Renvoie
QuicOptions.Builder

Compilateur pour le chaînage

setInitialBrokenServicePeriodSeconds

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

Définit la valeur initiale pour laquelle Cronet ne doit pas essayer d'utiliser QUIC pour un serveur donné après que la compatibilité QUIC du serveur s'est avérée défectueuse.

Une fois que Cronet détecte qu'un serveur annonce QUIC, mais ne l'utilise pas réellement, il le marque comme défaillant et n'essaie pas d'utiliser QUIC lorsqu'il communique avec le serveur pendant un certain temps. Une fois que Cronet a dépassé ce point, il essaie à nouveau d'utiliser QUIC. Cela permet d'équilibrer les intérêts à court terme (il est inutile de gaspiller des ressources pour essayer QUIC si le serveur est défaillant) et à long terme (la défaillance peut avoir été temporaire, l'utilisation de QUIC est généralement bénéfique).

Le délai est augmenté à chaque nouvelle tentative consécutive infructueuse. Accédez à increaseBrokenServicePeriodExponentially pour en savoir plus.

Renvoie
QuicOptions.Builder

Compilateur pour le chaînage

setPreCryptoHandshakeIdleTimeoutSeconds

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

Définit le temps d'inactivité maximal pour une connexion qui n'a pas encore effectué de handshake SSL.

Renvoie
QuicOptions.Builder

Compilateur pour le chaînage

setRetransmittableOnWireTimeoutMillis

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

Définit le délai maximal souhaité entre les paquets sur le réseau.

Lorsque le délai de retransmission sur le réseau est dépassé, Cronet sonde la qualité du réseau à l'aide de trafic artificiel. Des délais d'expiration plus courts permettent généralement de détecter plus rapidement un chemin d'accès défectueux ou en dégradation, mais ils entraînent également une plus grande utilisation des ressources (batterie, données).

Renvoie
QuicOptions.Builder

Compilateur pour le chaînage