BidirectionalStream.Builder

public abstract class BidirectionalStream.Builder


Compilateur pour les BidirectionalStream. Permet de configurer le flux avant de le construire via build. Créé par newBidirectionalStreamBuilder.

Résumé

Constantes

static final int

Priorité la plus élevée pour le flux.

static final int

Priorité la plus faible pour le flux.

static final int

Priorité faible pour le flux.

static final int

Priorité très faible du flux.

static final int

Priorité moyenne du flux.

Constructeurs publics

Méthodes publiques

abstract BidirectionalStream.Builder
addHeader(String header, String value)

Ajoute un en-tête de requête.

BidirectionalStream.Builder

Associe l'objet d'annotation à cette requête.

BidirectionalStream.Builder
bindToNetwork(long networkHandle)

Associe la requête au handle réseau spécifié.

abstract BidirectionalStream

Crée un BidirectionalStream en utilisant la configuration de ce Builder.

abstract BidirectionalStream.Builder
delayRequestHeadersUntilFirstFlush(
    boolean delayRequestHeadersUntilFirstFlush
)

Retarde l'envoi des en-têtes de requête jusqu'à ce que flush soit appelé.

abstract BidirectionalStream.Builder

Définit la méthode HTTP pour la requête.

abstract BidirectionalStream.Builder
setPriority(int priority)

Définit la priorité du flux, qui doit être l'une des valeurs STREAM_PRIORITY_*.

BidirectionalStream.Builder

Définit le tag android.net.TrafficStats à utiliser lors de la comptabilisation du trafic de socket généré par cette requête.

BidirectionalStream.Builder

Définit un UID spécifique à utiliser lors de la comptabilisation du trafic de socket généré par cette requête.

Constantes

STREAM_PRIORITY_HIGHEST

public static final int STREAM_PRIORITY_HIGHEST = 4

Priorité la plus élevée pour le flux. Transmis à setPriority.

STREAM_PRIORITY_IDLE

public static final int STREAM_PRIORITY_IDLE = 0

Priorité la plus faible pour le flux. Transmis à setPriority.

STREAM_PRIORITY_LOW

public static final int STREAM_PRIORITY_LOW = 2

Priorité faible pour le flux. Transmis à setPriority.

STREAM_PRIORITY_LOWEST

public static final int STREAM_PRIORITY_LOWEST = 1

Priorité très faible du flux. Transmis à setPriority.

STREAM_PRIORITY_MEDIUM

public static final int STREAM_PRIORITY_MEDIUM = 3

Priorité moyenne du flux. Transmis à setPriority. Il s'agit de la priorité par défaut accordée au flux.

Constructeurs publics

Builder

public Builder()

Méthodes publiques

addHeader

public abstract BidirectionalStream.Builder addHeader(String header, String value)

Ajoute un en-tête de requête. Renvoie le générateur pour faciliter l'enchaînement.

Paramètres
String header

le nom de l'en-tête

String value

la valeur de l'en-tête.

Renvoie
BidirectionalStream.Builder

le générateur pour faciliter l'enchaînement.

addRequestAnnotation

public BidirectionalStream.Builder addRequestAnnotation(Object annotation)

Associe l'objet d'annotation à cette requête. Vous pouvez en ajouter plusieurs. Transmis à un RequestFinishedInfo.Listener, voir getAnnotations.

Paramètres
Object annotation

Objet à transmettre au RequestFinishedInfo.Listener avec un RequestFinishedInfo.

Renvoie
BidirectionalStream.Builder

le générateur pour faciliter l'enchaînement.

bindToNetwork

public BidirectionalStream.Builder bindToNetwork(long networkHandle)

Associe la requête au handle réseau spécifié. Cronet n'enverra cette requête qu'en utilisant le réseau associé à ce handle. Si ce réseau se déconnecte, la requête échouera. L'erreur exacte dépendra de l'étape du traitement de la requête au moment de la déconnexion du réseau. Les identifiants réseau peuvent être obtenus via Network#getNetworkHandle. Disponible uniquement à partir d'Android Marshmallow.

Paramètres
long networkHandle

le handle réseau auquel l'opération doit être liée. Spécifiez UNBIND_NETWORK_HANDLE pour dissocier.

Renvoie
BidirectionalStream.Builder

le générateur pour faciliter l'enchaînement.

build

public abstract BidirectionalStream build()

Crée un BidirectionalStream en utilisant la configuration de ce Builder. Le BidirectionalStream renvoyé peut ensuite être démarré en appelant start.

Renvoie
BidirectionalStream

BidirectionalStream construit à l'aide de la configuration de ce Builder

delayRequestHeadersUntilFirstFlush

public abstract BidirectionalStream.Builder delayRequestHeadersUntilFirstFlush(
    boolean delayRequestHeadersUntilFirstFlush
)

Retarde l'envoi des en-têtes de requête jusqu'à ce que flush soit appelé. Cette option n'est actuellement respectée que lorsque QUIC est négocié. Si la valeur est "true", QUIC enverra le frame d'en-tête de requête avec le ou les frames de données sous forme de paquet unique, si possible.

Paramètres
boolean delayRequestHeadersUntilFirstFlush

Si la valeur est "true", l'envoi des en-têtes de requête sera retardé jusqu'à ce que flush() soit appelé.

Renvoie
BidirectionalStream.Builder

le générateur pour faciliter l'enchaînement.

setHttpMethod

public abstract BidirectionalStream.Builder setHttpMethod(String method)

Définit la méthode HTTP pour la requête. Renvoie le générateur pour faciliter l'enchaînement.

Paramètres
String method

Méthode à utiliser pour la requête. La valeur par défaut est "POST".

Renvoie
BidirectionalStream.Builder

le générateur pour faciliter l'enchaînement.

setPriority

public abstract BidirectionalStream.Builder setPriority(int priority)

Définit la priorité du flux, qui doit être l'une des valeurs STREAM_PRIORITY_*. Le flux reçoit la priorité STREAM_PRIORITY_MEDIUM si cette méthode n'est pas appelée.

Paramètres
int priority

Priorité du flux, qui doit être l'une des valeurs STREAM_PRIORITY_*.

Renvoie
BidirectionalStream.Builder

le générateur pour faciliter l'enchaînement.

setTrafficStatsTag

public BidirectionalStream.Builder setTrafficStatsTag(int tag)

Définit le tag android.net.TrafficStats à utiliser lors de la comptabilisation du trafic de socket généré par cette requête. Pour en savoir plus, consultez les android.net.TrafficStats. Si aucun tag n'est défini (par exemple, si cette méthode n'est pas appelée), Android comptabilise le trafic de socket généré par cette requête comme si la valeur du tag était définie sur 0.

REMARQUE : Définir un tag interdit le partage de sockets avec des requêtes comportant d'autres tags, ce qui peut nuire aux performances en interdisant le partage de connexions. En d'autres termes, l'utilisation de sockets multiplexés (HTTP/2 et QUIC, par exemple) ne sera autorisée que si toutes les requêtes ont le même tag de socket.

Paramètres
int tag

Valeur du tag utilisé pour comptabiliser le trafic de socket généré par cette requête. Les tags compris entre 0xFFFFFF00 et 0xFFFFFFFF sont réservés et utilisés en interne par les services système tels que android.app.DownloadManager lors de l'exécution du trafic pour le compte d'une application.

Renvoie
BidirectionalStream.Builder

le générateur pour faciliter l'enchaînement.

setTrafficStatsUid

public BidirectionalStream.Builder setTrafficStatsUid(int uid)

Définit un UID spécifique à utiliser lors de la comptabilisation du trafic de socket généré par cette requête. Pour en savoir plus, consultez android.net.TrafficStats. Conçu pour être utilisé lors d'une opération effectuée au nom d'une autre application. L'appelant doit disposer de l'autorisation MODIFY_NETWORK_ACCOUNTING. Par défaut, le trafic est attribué à l'UID de l'appelant.

REMARQUE : Définir un UID interdit le partage de sockets avec des requêtes ayant d'autres UID, ce qui peut avoir un impact négatif sur les performances en interdisant le partage de connexions. En d'autres termes, l'utilisation de sockets multiplexés (par exemple, HTTP/2 et QUIC) ne sera autorisée que si toutes les requêtes ont le même UID défini.

Paramètres
int uid

UID permettant d'attribuer le trafic de socket généré par cette requête.

Renvoie
BidirectionalStream.Builder

le générateur pour faciliter l'enchaînement.