JavaCronetEngine

class JavaCronetEngine : CronetEngineBase


java.net.HttpURLConnection ที่ขับเคลื่อนโดย CronetEngine

ไม่รองรับ netlog, การวัดข้อมูลที่โอน, bidistream, แคช หรือลำดับความสำคัญ

สรุป

เครื่องมือสร้างสาธารณะ

ฟังก์ชันสาธารณะ

Unit

ลงทะเบียน Listener ที่จะเรียกใช้หลังจากสิ้นสุดคำขอแต่ละรายการพร้อมข้อมูลคำขอ

Unit

ลงทะเบียน Listener ที่จะได้รับการเรียกใช้เมื่อใดก็ตามที่เครื่องมือประมาณคุณภาพเครือข่ายพบเวลาในการรับส่งที่วัดได้

Unit

ลงทะเบียน Listener ที่จะได้รับการเรียกใช้เมื่อใดก็ตามที่เครื่องมือประมาณคุณภาพเครือข่ายพบการวัดอัตราการส่งข้อมูลตัวอย่าง

Unit
bindToNetwork(networkHandle: Long)

เชื่อมโยงเครื่องมือกับแฮนเดิลเครือข่ายที่ระบุ

Unit
configureNetworkQualityEstimatorForTesting(
    useLocalHostRequests: Boolean,
    useSmallerResponses: Boolean,
    disableOfflineCheck: Boolean
)

กำหนดค่าตัวประมาณคุณภาพเครือข่ายสำหรับการทดสอบ

ExperimentalUrlRequest!
createRequest(
    url: String!,
    callback: UrlRequest.Callback!,
    executor: Executor!,
    priority: Int,
    connectionAnnotations: (Mutable)Collection<Any!>!,
    disableCache: Boolean,
    disableConnectionMigration: Boolean,
    allowDirectExecutor: Boolean,
    trafficStatsTagSet: Boolean,
    trafficStatsTag: Int,
    trafficStatsUidSet: Boolean,
    trafficStatsUid: Int,
    requestFinishedListener: RequestFinishedInfo.Listener!,
    idempotency: Int,
    networkHandle: Long,
    method: String!,
    requestHeaders: ArrayList<(Mutable)Map.Entry<String!, String!>!>!,
    uploadDataProvider: UploadDataProvider!,
    uploadDataProviderExecutor: Executor!,
    sharedDictionaryHash: ByteArray!,
    sharedDictionary: ByteBuffer!,
    sharedDictionaryId: String
)
URLStreamHandlerFactory!

สร้าง URLStreamHandlerFactory เพื่อจัดการการรับส่งข้อมูล HTTP และ HTTPS

Int

แสดงผลจำนวนคำขอที่ใช้งานอยู่

Int

แสดงผลการประมาณอัตราการส่งข้อมูลดาวน์สตรีม (เป็นกิโลบิตต่อวินาที) ที่คำนวณโดยเครื่องมือประมาณคุณภาพเครือข่าย

Int

แสดงค่าประมาณของประเภทการเชื่อมต่อที่มีประสิทธิภาพซึ่งคำนวณโดยเครื่องมือประมาณคุณภาพเครือข่าย

ByteArray<Byte>!

ฟังก์ชันนี้เลิกใช้งานแล้ว

ใน Cronet เวอร์ชันใหม่ๆ ฟังก์ชันนี้จะแสดงผลเป็นอาร์เรย์ว่างเสมอ

Int

แสดงผลค่าประมาณ RTT ของ HTTP (เป็นมิลลิวินาที) ที่คำนวณโดยเครื่องมือประมาณคุณภาพเครือข่าย

Int

แสดงผลค่าประมาณ RTT ของการรับส่ง (เป็นมิลลิวินาที) ที่คำนวณโดยตัวประมาณคุณภาพเครือข่าย

String!
URLConnection!

สร้างการเชื่อมต่อใหม่กับทรัพยากรที่ระบุโดย URLurl

URLConnection!
openConnection(url: URL!, proxy: Proxy!)

สร้างการเชื่อมต่อใหม่กับทรัพยากรที่ระบุโดย URLurl โดยใช้พร็อกซีที่ระบุ

Unit

นำเครื่องมือฟังคำขอที่เสร็จสมบูรณ์ออก

Unit

นำ Listener ของเวลาในการรับส่งออกหากลงทะเบียนไว้ก่อนหน้านี้ด้วย addRttListener

Unit

นำ Listener ของปริมาณงานออก

Unit

ปิด CronetEngine หากไม่มีคำขอที่ใช้งานอยู่ ไม่เช่นนั้นจะเกิดข้อยกเว้น

Unit
startNetLogToDisk(dirPath: String!, logAll: Boolean, maxSize: Int)

เริ่มการบันทึก NetLog ไปยังไดเรกทอรีที่ระบุโดยมีขนาดที่จำกัด

Unit
startNetLogToFile(fileName: String!, logAll: Boolean)

เริ่มการบันทึก NetLog ไปยังไฟล์

Unit

หยุดการบันทึก NetLog และล้างข้อมูลไฟล์ลงในดิสก์

ฟังก์ชันที่ป้องกันไว้

ExperimentalBidirectionalStream!
createBidirectionalStream(
    url: String!,
    callback: BidirectionalStream.Callback!,
    executor: Executor!,
    httpMethod: String!,
    requestHeaders: (Mutable)List<(Mutable)Map.Entry<String!, String!>!>!,
    @CronetEngineBase.StreamPriority priority: Int,
    delayRequestHeadersUntilFirstFlush: Boolean,
    connectionAnnotations: (Mutable)Collection<Any!>!,
    trafficStatsTagSet: Boolean,
    trafficStatsTag: Int,
    trafficStatsUidSet: Boolean,
    trafficStatsUid: Int,
    networkHandle: Long
)

ค่าคงที่ที่รับค่ามา

จาก org.chromium.net.CronetEngine
const Int

ไม่ทราบค่าของจำนวนคำขอที่ใช้งานอยู่

จาก org.chromium.net.impl.CronetEngineBase

ฟังก์ชันที่รับช่วงมา

จาก org.chromium.net.impl.CronetEngineBase
ExperimentalUrlRequest.Builder!
newUrlRequestBuilder(
    url: String!,
    callback: UrlRequest.Callback!,
    executor: Executor!
)

สร้างเครื่องมือสร้างสำหรับ UrlRequest

เครื่องมือสร้างสาธารณะ

JavaCronetEngine

JavaCronetEngine(builder: CronetEngineBuilderImpl!)

ฟังก์ชันสาธารณะ

addRequestFinishedListener

fun addRequestFinishedListener(listener: RequestFinishedInfo.Listener!): Unit

ลงทะเบียน Listener ที่จะเรียกใช้หลังจากสิ้นสุดคำขอแต่ละรายการพร้อมข้อมูลคำขอ

ระบบจะเรียกใช้ Listener ใน java.util.concurrent.Executor ที่ Listener ระบุ

พารามิเตอร์
listener: RequestFinishedInfo.Listener!

เครื่องรับฟังสำหรับคำขอที่เสร็จสมบูรณ์

addRttListener

fun addRttListener(listener: NetworkQualityRttListener!): Unit

ลงทะเบียน Listener ที่จะได้รับการเรียกใช้เมื่อใดก็ตามที่เครื่องมือประมาณคุณภาพเครือข่ายพบเวลาในการรับส่งที่วัดได้ ต้องเรียกใช้หลังจาก enableNetworkQualityEstimator และจะส่งข้อยกเว้นหากไม่เรียกใช้ ระบบอาจบันทึกเวลาในการรับส่งข้อมูลที่เลเยอร์ต่างๆ ของสแต็กเครือข่าย ซึ่งรวมถึง TCP, QUIC และที่เลเยอร์คำขอ URL ระบบจะเรียกใช้ Listener ใน java.util.concurrent.Executor ที่ส่งไปยัง enableNetworkQualityEstimator

พารามิเตอร์
listener: NetworkQualityRttListener!

เครื่องมือฟังเวลาในการรับส่งข้อมูล

addThroughputListener

fun addThroughputListener(listener: NetworkQualityThroughputListener!): Unit

ลงทะเบียน Listener ที่จะได้รับการเรียกใช้เมื่อใดก็ตามที่เครื่องมือประมาณคุณภาพเครือข่ายพบการวัดอัตราการส่งข้อมูลตัวอย่าง ต้องเรียกใช้หลังจาก enableNetworkQualityEstimator การสังเกตปริมาณงานจะคำนวณโดยการวัดไบต์ที่อ่านผ่านอินเทอร์เฟซเครือข่ายที่ใช้งานอยู่ ในช่วงเวลาที่ได้รับคำตอบจาก URL อย่างน้อย 1 รายการ ระบบจะเรียกใช้ Listener ใน java.util.concurrent.Executor ที่ส่งไปยัง enableNetworkQualityEstimator

พารามิเตอร์
listener: NetworkQualityThroughputListener!

ผู้ฟังของอัตราการส่งข้อมูล

bindToNetwork

fun bindToNetwork(networkHandle: Long): Unit

เชื่อมโยงเครื่องมือกับแฮนเดิลเครือข่ายที่ระบุ คำขอทั้งหมดที่สร้างผ่านเครื่องมือนี้จะใช้เครือข่ายที่เชื่อมโยงกับแฮนเดิลนี้ หากเครือข่ายนี้ตัดการเชื่อมต่อ คำขอทั้งหมดจะล้มเหลว โดยข้อผิดพลาดที่แน่นอนจะขึ้นอยู่กับขั้นตอนการประมวลผลคำขอเมื่อเครือข่ายตัดการเชื่อมต่อ คุณรับแฮนเดิลเครือข่ายได้ผ่าน Network#getNetworkHandle พร้อมใช้งานตั้งแต่ Android Marshmallow เป็นต้นไปเท่านั้น

พารามิเตอร์
networkHandle: Long

แฮนเดิลเครือข่ายที่จะเชื่อมโยงเครื่องมือ ระบุ UNBIND_NETWORK_HANDLE เพื่อยกเลิกการเชื่อมโยง

configureNetworkQualityEstimatorForTesting

fun configureNetworkQualityEstimatorForTesting(
    useLocalHostRequests: Boolean,
    useSmallerResponses: Boolean,
    disableOfflineCheck: Boolean
): Unit

กำหนดค่าตัวประมาณคุณภาพเครือข่ายสำหรับการทดสอบ ต้องเรียกใช้ฟังก์ชันนี้ก่อนที่จะเพิ่ม Listener เวลาในการรับส่งและอัตราการส่งข้อมูล และหลังจากที่เปิดใช้ Estimator คุณภาพเครือข่ายแล้ว

พารามิเตอร์
useLocalHostRequests: Boolean

รวมคำขอไปยัง localhost ในการประมาณ

useSmallerResponses: Boolean

รวมการตอบกลับขนาดเล็กในการประมาณปริมาณงาน

disableOfflineCheck: Boolean

เมื่อตั้งค่าเป็น "จริง" จะปิดใช้การตรวจสอบอุปกรณ์ที่ออฟไลน์เมื่อคำนวณประเภทการเชื่อมต่อที่มีประสิทธิภาพหรือเมื่อเขียนค่ากำหนด

createRequest

fun createRequest(
    url: String!,
    callback: UrlRequest.Callback!,
    executor: Executor!,
    priority: Int,
    connectionAnnotations: (Mutable)Collection<Any!>!,
    disableCache: Boolean,
    disableConnectionMigration: Boolean,
    allowDirectExecutor: Boolean,
    trafficStatsTagSet: Boolean,
    trafficStatsTag: Int,
    trafficStatsUidSet: Boolean,
    trafficStatsUid: Int,
    requestFinishedListener: RequestFinishedInfo.Listener!,
    idempotency: Int,
    networkHandle: Long,
    method: String!,
    requestHeaders: ArrayList<(Mutable)Map.Entry<String!, String!>!>!,
    uploadDataProvider: UploadDataProvider!,
    uploadDataProviderExecutor: Executor!,
    sharedDictionaryHash: ByteArray!,
    sharedDictionary: ByteBuffer!,
    sharedDictionaryId: String
): ExperimentalUrlRequest!

createURLStreamHandlerFactory

fun createURLStreamHandlerFactory(): URLStreamHandlerFactory!

สร้าง URLStreamHandlerFactory เพื่อจัดการการรับส่งข้อมูล HTTP และ HTTPS คุณติดตั้งอินสแตนซ์ของคลาสนี้ผ่าน setURLStreamHandlerFactory ได้ ดังนั้นจึงใช้ CronetEngine นี้โดยค่าเริ่มต้นสำหรับคำขอทั้งหมดที่สร้างผ่าน openConnection

Cronet ไม่ใช้ฟีเจอร์ HTTP บางอย่างที่ระบบมีให้ ดังนี้

  • แคช HTTP ที่ติดตั้งผ่าน HttpResponseCache.install()
  • วิธีการตรวจสอบสิทธิ์ HTTP ที่ติดตั้งผ่าน setDefault
  • ที่เก็บคุกกี้ HTTP ที่ติดตั้งผ่าน setDefault

แม้ว่า Cronet จะรองรับและแนะนำให้ใช้คำขอที่ใช้โปรโตคอล HTTPS แต่ Cronet ไม่รองรับ API ของ HttpsURLConnection การไม่รองรับนี้ยังรวมถึงการไม่ใช้ฟีเจอร์ HTTPS บางอย่างที่ระบบมีให้ด้วย

การคืนสินค้า
URLStreamHandlerFactory!

อินสแตนซ์ URLStreamHandlerFactory ที่ติดตั้งใช้งานโดย CronetEngine นี้

getActiveRequestCount

fun getActiveRequestCount(): Int

แสดงผลจำนวนคำขอที่ใช้งานอยู่

คำขอจะ "ใช้งานอยู่" ใน UrlRequest.start() โดยสมมติว่าเมธอดนั้นไม่ได้ส่งข้อยกเว้น โดยจะไม่มีการใช้งานเมื่อการเรียกกลับทั้งหมดเสร็จสิ้นแล้ว และจะเรียกกลับเพิ่มเติมในอนาคตไม่ได้ ในทางปฏิบัติ นั่นหมายความว่าคำขอจะไม่ได้ใช้งานเมื่อ onSucceeded/onCanceled/onFailed ส่งคืนแล้ว และผู้ฟังที่เสร็จสิ้นคำขอทั้งหมดส่งคืนแล้ว วงจรของคำขอ Cronet เพื่อดูข้อมูลเพิ่มเติม

getDownstreamThroughputKbps

fun getDownstreamThroughputKbps(): Int

แสดงผลการประมาณอัตราการส่งข้อมูลดาวน์สตรีม (เป็นกิโลบิตต่อวินาที) ที่คำนวณโดยเครื่องมือประมาณคุณภาพเครือข่าย ตั้งค่าเป็น CONNECTION_METRIC_UNKNOWN หากค่าไม่พร้อมใช้งาน ต้องเรียกใช้หลังจาก enableNetworkQualityEstimator และจะส่งข้อยกเว้นหากไม่เรียกใช้

การคืนสินค้า
Int

การประมาณปริมาณงานดาวน์สตรีมเป็นกิโลบิตต่อวินาที

getEffectiveConnectionType

fun getEffectiveConnectionType(): Int

แสดงค่าประมาณของประเภทการเชื่อมต่อที่มีประสิทธิภาพซึ่งคำนวณโดยเครื่องมือประมาณคุณภาพเครือข่าย โทรหา enableNetworkQualityEstimator เพื่อเริ่มคำนวณค่านี้

การคืนสินค้า
Int

ประเภทการเชื่อมต่อโดยประมาณ ค่าที่แสดงผลจะเป็นค่าใดค่าหนึ่งของ EFFECTIVE_CONNECTION_TYPE_*

getGlobalMetricsDeltas

fun getGlobalMetricsDeltas(): ByteArray<Byte>!

getHttpRttMs

fun getHttpRttMs(): Int

แสดงผลค่าประมาณ RTT ของ HTTP (เป็นมิลลิวินาที) ที่คำนวณโดยเครื่องมือประมาณคุณภาพเครือข่าย ตั้งค่าเป็น CONNECTION_METRIC_UNKNOWN หากค่าไม่พร้อมใช้งาน ต้องเรียกใช้หลังจาก enableNetworkQualityEstimator และจะส่งข้อยกเว้นหากไม่เรียกใช้

การคืนสินค้า
Int

ค่าประมาณของ RTT ของ HTTP เป็นมิลลิวินาที

getTransportRttMs

fun getTransportRttMs(): Int

แสดงผลค่าประมาณ RTT ของการรับส่ง (เป็นมิลลิวินาที) ที่คำนวณโดยตัวประมาณคุณภาพเครือข่าย ตั้งค่าเป็น CONNECTION_METRIC_UNKNOWN หากค่าไม่พร้อมใช้งาน ต้องเรียกใช้หลังจาก enableNetworkQualityEstimator และจะส่งข้อยกเว้นหากไม่เรียกใช้

การคืนสินค้า
Int

ค่าประมาณของ RTT ของการรับส่งข้อมูลเป็นมิลลิวินาที

getVersionString

fun getVersionString(): String!
การคืนสินค้า
String!

สตริงเวอร์ชันของเครื่องยนต์ที่มนุษย์อ่านได้

openConnection

fun openConnection(url: URL!): URLConnection!

สร้างการเชื่อมต่อใหม่กับทรัพยากรที่ระบุโดย URLurl

หมายเหตุ: การติดตั้งใช้งาน java.net.HttpURLConnection ของ Cronet มีข้อจำกัดบางอย่าง โปรดดูรายละเอียดที่ createURLStreamHandlerFactory

พารามิเตอร์
url: URL!

URL ของทรัพยากรที่จะเชื่อมต่อ

การคืนสินค้า
URLConnection!

อินสแตนซ์ java.net.HttpURLConnection ที่ติดตั้งใช้งานโดย CronetEngine นี้

ส่ง
java.io.IOException

หากเกิดข้อผิดพลาดขณะเปิดการเชื่อมต่อ

openConnection

fun openConnection(url: URL!, proxy: Proxy!): URLConnection!

สร้างการเชื่อมต่อใหม่กับทรัพยากรที่ระบุโดย URLurl โดยใช้พร็อกซีที่ระบุ

หมายเหตุ: การติดตั้งใช้งาน java.net.HttpURLConnection ของ Cronet มีข้อจำกัดบางอย่าง โปรดดูรายละเอียดที่ createURLStreamHandlerFactory

พารามิเตอร์
url: URL!

URL ของทรัพยากรที่จะเชื่อมต่อ

proxy: Proxy!

พร็อกซีที่จะใช้เมื่อสร้างการเชื่อมต่อ

การคืนสินค้า
URLConnection!

อินสแตนซ์ java.net.HttpURLConnection ที่ติดตั้งใช้งานโดย CronetEngine นี้

ส่ง
java.io.IOException

หากเกิดข้อผิดพลาดขณะเปิดการเชื่อมต่อ

removeRequestFinishedListener

fun removeRequestFinishedListener(listener: RequestFinishedInfo.Listener!): Unit

นำเครื่องมือฟังคำขอที่เสร็จสมบูรณ์ออก

พารามิเตอร์
listener: RequestFinishedInfo.Listener!

ผู้ฟังออก

removeRttListener

fun removeRttListener(listener: NetworkQualityRttListener!): Unit

นำ Listener ของเวลาในการรับส่งออกหากลงทะเบียนไว้ก่อนหน้านี้ด้วย addRttListener ควรเรียกใช้หลังจากเพิ่ม NetworkQualityRttListener เพื่อหยุดรับการสังเกตการณ์

พารามิเตอร์
listener: NetworkQualityRttListener!

เครื่องมือฟังระยะเวลารับส่งข้อมูล

removeThroughputListener

fun removeThroughputListener(listener: NetworkQualityThroughputListener!): Unit

นำ Listener ของปริมาณงานออก ควรเรียกใช้หลังจากเพิ่ม NetworkQualityThroughputListener ด้วย addThroughputListener เพื่อหยุดรับการสังเกตการณ์

พารามิเตอร์
listener: NetworkQualityThroughputListener!

ผู้ฟังของอัตราการส่งข้อมูล

การปิดใช้งาน

fun shutdown(): Unit

ปิด CronetEngine หากไม่มีคำขอที่ใช้งานอยู่ ไม่เช่นนั้นจะเกิดข้อยกเว้น

เรียกใช้ในเธรดเครือข่ายไม่ได้ - เธรดที่ Cronet เรียกใช้ใน Executor (ซึ่งแตกต่างจากเธรดที่ Executor เรียกใช้การเรียกกลับ) อาจบล็อกจนกว่าจะล้างข้อมูลทรัพยากรทั้งหมดของ CronetEngine

startNetLogToDisk

fun startNetLogToDisk(dirPath: String!, logAll: Boolean, maxSize: Int): Unit

เริ่มการบันทึก NetLog ไปยังไดเรกทอรีที่ระบุโดยมีขนาดที่จำกัด NetLog จะมีเหตุการณ์ที่ปล่อยออกมาจาก CronetEngine ที่ใช้งานอยู่ทั้งหมด NetLog มีประโยชน์ในการแก้ไขข้อบกพร่อง เมื่อการบันทึกหยุดทำงาน stopNetLog ระบบจะเขียนข้อมูลลงใน netlog.json ใน dirPath หากการบันทึกหยุดชะงัก คุณสามารถต่อไฟล์ที่อยู่ในไดเรกทอรีย่อย .inprogress ด้วยตนเองได้โดยใช้ https://chromium.googlesource.com/chromium/src/+/main/net/tools/stitch_net_log_files.py คุณดูบันทึกได้โดยใช้เบราว์เซอร์ Chrome ไปที่ chrome://net-internals/#import

พารามิเตอร์
dirPath: String!

ไดเรกทอรีที่จะสร้างไฟล์ netlog.json โดย dirPath ต้องมีอยู่แล้ว ต้องไม่มีไฟล์ NetLog ในไดเรกทอรี หากมีการบันทึกอย่างต่อเนื่อง ระบบจะไม่สนใจเมธอดนี้

logAll: Boolean

true เพื่อรวมเหตุการณ์พื้นฐาน คุกกี้ของผู้ใช้ ข้อมูลเข้าสู่ระบบ และไบต์ทั้งหมดที่โอนในบันทึก ตัวเลือกนี้มีความเสี่ยงด้านความเป็นส่วนตัวเนื่องจากจะเปิดเผยข้อมูลเข้าสู่ระบบของผู้ใช้ และควรใช้เฉพาะในกรณีที่ได้รับความยินยอมจากผู้ใช้และในสถานการณ์ที่บันทึกจะไม่เป็นแบบสาธารณะ false เพื่อรวมเฉพาะเหตุการณ์พื้นฐาน

maxSize: Int

พื้นที่ว่างในดิสก์ทั้งหมดสูงสุดเป็นไบต์ที่ NetLog ควรใช้ การใช้พื้นที่ดิสก์จริงอาจเกินขีดจำกัดนี้เล็กน้อย

startNetLogToFile

fun startNetLogToFile(fileName: String!, logAll: Boolean): Unit

เริ่มการบันทึก NetLog ไปยังไฟล์ NetLog จะมีเหตุการณ์ที่ปล่อยออกมาจาก CronetEngine ที่ใช้งานอยู่ทั้งหมด NetLog มีประโยชน์ในการแก้ไขข้อบกพร่อง คุณดูไฟล์ได้โดยใช้เบราว์เซอร์ Chrome ไปที่ chrome://net-internals/#import

พารามิเตอร์
fileName: String!

เส้นทางไฟล์แบบเต็ม ต้องระบุ หากมีไฟล์อยู่แล้ว ระบบจะตัดทอนไฟล์ก่อนเริ่มต้น หากมีการบันทึกอย่างต่อเนื่อง ระบบจะไม่สนใจเมธอดนี้

logAll: Boolean

true เพื่อรวมเหตุการณ์พื้นฐาน คุกกี้ของผู้ใช้ ข้อมูลเข้าสู่ระบบ และไบต์ทั้งหมดที่โอนในบันทึก ตัวเลือกนี้มีความเสี่ยงด้านความเป็นส่วนตัวเนื่องจากจะเปิดเผยข้อมูลเข้าสู่ระบบของผู้ใช้ และควรใช้เฉพาะในกรณีที่ได้รับความยินยอมจากผู้ใช้และในสถานการณ์ที่บันทึกจะไม่เป็นแบบสาธารณะ false เพื่อรวมเฉพาะเหตุการณ์พื้นฐาน

stopNetLog

fun stopNetLog(): Unit

หยุดการบันทึก NetLog และล้างข้อมูลไฟล์ลงในดิสก์ หากเซสชันการบันทึกไม่ได้กำลังดำเนินการอยู่ ระบบจะไม่สนใจการเรียกนี้

ฟังก์ชันที่ป้องกันไว้

createBidirectionalStream

protected fun createBidirectionalStream(
    url: String!,
    callback: BidirectionalStream.Callback!,
    executor: Executor!,
    httpMethod: String!,
    requestHeaders: (Mutable)List<(Mutable)Map.Entry<String!, String!>!>!,
    @CronetEngineBase.StreamPriority priority: Int,
    delayRequestHeadersUntilFirstFlush: Boolean,
    connectionAnnotations: (Mutable)Collection<Any!>!,
    trafficStatsTagSet: Boolean,
    trafficStatsTag: Int,
    trafficStatsUidSet: Boolean,
    trafficStatsUid: Int,
    networkHandle: Long
): ExperimentalBidirectionalStream!