BidirectionalStream.Builder

abstract class BidirectionalStream.Builder


Builder für BidirectionalStreams. Ermöglicht die Konfiguration des Streams, bevor er über build erstellt wird. Erstellt von newBidirectionalStreamBuilder.

Zusammenfassung

Konstanten

const Int

Höchste Stream-Priorität.

const Int

Niedrigste Stream-Priorität.

const Int

Niedrige Stream-Priorität.

const Int

Sehr niedrige Stream-Priorität.

const Int

Mittlere Stream-Priorität.

Öffentliche Konstruktoren

Öffentliche Funktionen

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

Fügt einen Anfrageheader hinzu.

BidirectionalStream.Builder!
addRequestAnnotation(annotation: Any!)

Verknüpft das Annotations-Objekt mit dieser Anfrage.

BidirectionalStream.Builder!
bindToNetwork(networkHandle: Long)

Bindet die Anfrage an das angegebene Netzwerk-Handle.

abstract BidirectionalStream!

Erstellt einen BidirectionalStream mit der Konfiguration aus diesem Builder.

abstract BidirectionalStream.Builder!
delayRequestHeadersUntilFirstFlush(
    delayRequestHeadersUntilFirstFlush: Boolean
)

Verzögert das Senden von Anfrageheadern, bis flush aufgerufen wird.

abstract BidirectionalStream.Builder!

Legt die HTTP-Methode für die Anfrage fest.

abstract BidirectionalStream.Builder!
setPriority(priority: Int)

Legt die Priorität des Streams fest. Der Wert muss einer der STREAM_PRIORITY_*-Werte sein.

BidirectionalStream.Builder!

Legt das android.net.TrafficStats-Tag fest, das verwendet werden soll, wenn der durch diese Anfrage verursachte Socket-Traffic berücksichtigt wird.

BidirectionalStream.Builder!

Legt eine bestimmte UID fest, die bei der Abrechnung des Socket-Traffics verwendet werden soll, der durch diese Anfrage verursacht wird.

Konstanten

STREAM_PRIORITY_HIGHEST

const val STREAM_PRIORITY_HIGHEST = 4: Int

Höchste Stream-Priorität. An setPriority weitergeleitet.

STREAM_PRIORITY_IDLE

const val STREAM_PRIORITY_IDLE = 0: Int

Niedrigste Stream-Priorität. An setPriority weitergeleitet.

STREAM_PRIORITY_LOW

const val STREAM_PRIORITY_LOW = 2: Int

Niedrige Stream-Priorität. An setPriority weitergeleitet.

STREAM_PRIORITY_LOWEST

const val STREAM_PRIORITY_LOWEST = 1: Int

Sehr niedrige Stream-Priorität. An setPriority weitergeleitet.

STREAM_PRIORITY_MEDIUM

const val STREAM_PRIORITY_MEDIUM = 3: Int

Mittlere Stream-Priorität. An setPriority weitergeleitet. Dies ist die Standardpriorität, die dem Stream zugewiesen wird.

Öffentliche Konstruktoren

Builder

Builder()

Öffentliche Funktionen

addHeader

abstract fun addHeader(header: String!, value: String!): BidirectionalStream.Builder!

Fügt einen Anfrageheader hinzu. Gibt den Builder zurück, um das Chaining zu erleichtern.

Parameter
header: String!

den Headernamen

value: String!

der Headerwert

Gibt Folgendes zurück:
BidirectionalStream.Builder!

Der Builder erleichtert die Verkettung.

addRequestAnnotation

fun addRequestAnnotation(annotation: Any!): BidirectionalStream.Builder!

Verknüpft das Annotations-Objekt mit dieser Anfrage. Sie können mehrere hinzufügen. An ein RequestFinishedInfo.Listener übergeben, siehe getAnnotations.

Parameter
annotation: Any!

Ein Objekt, das mit einem RequestFinishedInfo an das RequestFinishedInfo.Listener übergeben werden soll.

Gibt Folgendes zurück:
BidirectionalStream.Builder!

Der Builder, um die Verkettung zu ermöglichen.

bindToNetwork

fun bindToNetwork(networkHandle: Long): BidirectionalStream.Builder!

Bindet die Anfrage an das angegebene Netzwerk-Handle. Cronet sendet diese Anfrage nur über das Netzwerk, das mit diesem Handle verknüpft ist. Wenn die Verbindung zum Netzwerk unterbrochen wird, schlägt die Anfrage fehl. Der genaue Fehler hängt davon ab, in welcher Phase der Verarbeitung der Anfrage die Verbindung zum Netzwerk unterbrochen wird. Netzwerk-Handles können über Network#getNetworkHandle abgerufen werden. Nur ab Android Marshmallow verfügbar.

Parameter
networkHandle: Long

Der Netzwerk-Handle, an den die Anfrage gebunden werden soll. Geben Sie UNBIND_NETWORK_HANDLE an, um die Bindung aufzuheben.

Gibt Folgendes zurück:
BidirectionalStream.Builder!

Der Builder, um die Verkettung zu ermöglichen.

Build

abstract fun build(): BidirectionalStream!

Erstellt einen BidirectionalStream mit der Konfiguration aus diesem Builder. Die zurückgegebene BidirectionalStream kann dann durch Aufrufen von start gestartet werden.

Gibt Folgendes zurück:
BidirectionalStream!

BidirectionalStream wurde mit der Konfiguration aus diesem Builder erstellt.

delayRequestHeadersUntilFirstFlush

abstract fun delayRequestHeadersUntilFirstFlush(
    delayRequestHeadersUntilFirstFlush: Boolean
): BidirectionalStream.Builder!

Verzögert das Senden von Anfrageheadern, bis flush aufgerufen wird. Dieses Flag wird derzeit nur berücksichtigt, wenn QUIC ausgehandelt wird. Wenn „true“, sendet QUIC den Anfrageheader-Frame zusammen mit den Datenframes als einzelnes Paket, sofern möglich.

Parameter
delayRequestHeadersUntilFirstFlush: Boolean

Bei „true“ wird das Senden von Anfrageheadern verzögert, bis „flush()“ aufgerufen wird.

Gibt Folgendes zurück:
BidirectionalStream.Builder!

Der Builder, um die Verkettung zu ermöglichen.

setHttpMethod

abstract fun setHttpMethod(method: String!): BidirectionalStream.Builder!

Legt die HTTP-Methode für die Anfrage fest. Gibt den Builder zurück, um das Chaining zu erleichtern.

Parameter
method: String!

Die für die Anfrage zu verwendende Methode. Der Standardwert ist „POST“.

Gibt Folgendes zurück:
BidirectionalStream.Builder!

Der Builder erleichtert die Verkettung.

setPriority

abstract fun setPriority(priority: Int): BidirectionalStream.Builder!

Legt die Priorität des Streams fest. Der Wert muss einer der STREAM_PRIORITY_*-Werte sein. Dem Stream wird die Priorität STREAM_PRIORITY_MEDIUM zugewiesen, wenn diese Methode nicht aufgerufen wird.

Parameter
priority: Int

Die Priorität des Streams, die einer der STREAM_PRIORITY_*-Werte sein sollte.

Gibt Folgendes zurück:
BidirectionalStream.Builder!

Der Builder, um die Verkettung zu ermöglichen.

setTrafficStatsTag

fun setTrafficStatsTag(tag: Int): BidirectionalStream.Builder!

Legt das android.net.TrafficStats-Tag fest, das verwendet werden soll, wenn der durch diese Anfrage verursachte Socket-Traffic berücksichtigt wird. Weitere Informationen findest du in den android.net.TrafficStats. Wenn kein Tag festgelegt ist (z.B. wenn diese Methode nicht aufgerufen wird), berücksichtigt Android den durch diese Anfrage verursachten Socket-Traffic so, als wäre der Tag-Wert auf 0 gesetzt.

HINWEIS:Wenn Sie ein Tag festlegen, können Sockets nicht für Anfragen mit anderen Tags freigegeben werden. Dies kann sich negativ auf die Leistung auswirken, da keine Verbindungen gemeinsam genutzt werden können. Mit anderen Worten: Die Verwendung von Multiplex-Sockets (z.B. HTTP/2 und QUIC) ist nur zulässig, wenn alle Anfragen dasselbe Socket-Tag haben.

Parameter
tag: Int

Der Tag-Wert, der bei der Berücksichtigung des Socket-Traffics verwendet wird, der durch diese Anfrage verursacht wird. Tags zwischen 0xFFFFFF00 und 0xFFFFFFFF sind reserviert und werden intern von Systemdiensten wie android.app.DownloadManager verwendet, wenn Traffic im Namen einer Anwendung ausgeführt wird.

Gibt Folgendes zurück:
BidirectionalStream.Builder!

Der Builder, um die Verkettung zu ermöglichen.

setTrafficStatsUid

fun setTrafficStatsUid(uid: Int): BidirectionalStream.Builder!

Legt eine bestimmte UID fest, die bei der Abrechnung des Socket-Traffics verwendet werden soll, der durch diese Anfrage verursacht wird. Weitere Informationen finden Sie unter android.net.TrafficStats. Für die Verwendung bei der Ausführung eines Vorgangs im Namen einer anderen Anwendung vorgesehen. Der Aufrufer muss die Berechtigung MODIFY_NETWORK_ACCOUNTING haben. Standardmäßig wird Traffic der UID des Anrufers zugeordnet.

HINWEIS:Wenn Sie eine UID festlegen, können Sockets nicht für Anfragen mit anderen UIDs freigegeben werden. Dies kann sich negativ auf die Leistung auswirken, da keine Verbindungsfreigabe möglich ist. Mit anderen Worten: Die Verwendung von Multiplex-Sockets (z.B. HTTP/2 und QUIC) ist nur zulässig, wenn für alle Anfragen dieselbe UID festgelegt ist.

Parameter
uid: Int

Die UID, die dem Socket-Traffic zugewiesen werden soll, der durch diese Anfrage verursacht wird.

Gibt Folgendes zurück:
BidirectionalStream.Builder!

Der Builder, um die Verkettung zu ermöglichen.