BidirectionalStream.Builder

abstract class BidirectionalStream.Builder


أداة إنشاء لـ BidirectionalStream تسمح هذه السمة بإعداد البث قبل إنشائه من خلال build. تم الإنشاء بواسطة newBidirectionalStreamBuilder.

ملخّص

الثوابت

const Int

أولوية البث القصوى

const Int

أدنى أولوية للبث

const Int

أولوية منخفضة للبث

const Int

أولوية منخفضة جدًا للدفق

const Int

أولوية تدفق متوسطة

طُرق وضع التصميم العامة

الوظائف العامة

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

تضيف هذه السمة عنوان طلب.

BidirectionalStream.Builder!
addRequestAnnotation(annotation: Any!)

يربط عنصر التعليق التوضيحي بهذا الطلب.

BidirectionalStream.Builder!
bindToNetwork(networkHandle: Long)

يربط الطلب بمقبض الشبكة المحدّد.

abstract BidirectionalStream!

تُنشئ هذه السمة BidirectionalStream باستخدام إعدادات من Builder.

abstract BidirectionalStream.Builder!
delayRequestHeadersUntilFirstFlush(
    delayRequestHeadersUntilFirstFlush: Boolean
)

تؤخّر إرسال عناوين الطلبات إلى أن يتم استدعاء flush.

abstract BidirectionalStream.Builder!

تضبط هذه السمة طريقة HTTP للطلب.

abstract BidirectionalStream.Builder!
setPriority(priority: Int)

تضبط هذه السمة أولوية البث التي يجب أن تكون إحدى قيم STREAM_PRIORITY_*.

BidirectionalStream.Builder!

يضبط العلامة android.net.TrafficStats التي سيتم استخدامها عند تدوين سجلات الاستخدام لحركة بيانات المقبس الناتجة عن هذا الطلب.

BidirectionalStream.Builder!

يضبط معرّف UID معيّنًا لاستخدامه عند احتساب عدد زيارات المقبس الناتجة عن هذا الطلب.

الثوابت

STREAM_PRIORITY_HIGHEST

const val STREAM_PRIORITY_HIGHEST = 4: Int

أولوية البث القصوى تمت الموافقة على الطلب من خلال setPriority.

STREAM_PRIORITY_IDLE

const val STREAM_PRIORITY_IDLE = 0: Int

أدنى أولوية للبث تمت الموافقة على الطلب من خلال setPriority.

STREAM_PRIORITY_LOW

const val STREAM_PRIORITY_LOW = 2: Int

أولوية منخفضة للبث تمت الموافقة على الطلب من خلال setPriority.

STREAM_PRIORITY_LOWEST

const val STREAM_PRIORITY_LOWEST = 1: Int

أولوية منخفضة جدًا للدفق تمت الموافقة على الطلب من خلال setPriority.

STREAM_PRIORITY_MEDIUM

const val STREAM_PRIORITY_MEDIUM = 3: Int

أولوية تدفق متوسطة تمت الموافقة على الطلب من خلال setPriority. هذه هي الأولوية التلقائية الممنوحة للبث.

طُرق وضع التصميم العامة

"البنّاء" (Builder)

Builder()

الوظائف العامة

addHeader

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

تضيف هذه السمة عنوان طلب. تعرض هذه الدالة أداة إنشاء لتسهيل الربط.

المعلَمات
header: String!

اسم العنوان

value: String!

قيمة العنوان

المرتجعات
BidirectionalStream.Builder!

أداة الإنشاء لتسهيل الربط

addRequestAnnotation

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

يربط عنصر التعليق التوضيحي بهذا الطلب. يمكنك إضافة أكثر من واحد. تم تمريرها إلى RequestFinishedInfo.Listener، يمكنك الاطّلاع على getAnnotations.

المعلَمات
annotation: Any!

عنصر يتم تمريره إلى RequestFinishedInfo.Listener مع RequestFinishedInfo

المرتجعات
BidirectionalStream.Builder!

تسهيل ربط السلاسل

bindToNetwork

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

يربط الطلب بمقبض الشبكة المحدّد. سيرسل Cronet هذا الطلب فقط باستخدام الشبكة المرتبطة بهذا المعرّف. في حال انقطاع الاتصال بالشبكة، سيتعذّر تنفيذ الطلب، وسيعتمد الخطأ الدقيق على مرحلة معالجة الطلب عند انقطاع الاتصال بالشبكة. يمكن الحصول على أسماء المستخدمين على الشبكة من خلال Network#getNetworkHandle. تتوفّر هذه الميزة على الإصدارات الأحدث من Android Marshmallow فقط.

المعلَمات
networkHandle: Long

مقبض الشبكة الذي سيتم ربط الطلب به. حدِّد UNBIND_NETWORK_HANDLE لإلغاء الربط.

المرتجعات
BidirectionalStream.Builder!

تسهيل ربط السلاسل

إنشاء

abstract fun build(): BidirectionalStream!

تُنشئ هذه السمة BidirectionalStream باستخدام إعدادات من Builder. يمكن بعد ذلك بدء BidirectionalStream الذي تم عرضه عن طريق استدعاء start.

المرتجعات
BidirectionalStream!

تم إنشاء BidirectionalStream باستخدام الإعدادات من Builder هذا

delayRequestHeadersUntilFirstFlush

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

تؤخّر إرسال عناوين الطلبات إلى أن يتم استدعاء flush. لا يتم حاليًا الالتزام بهذا الخيار إلا عند التفاوض على استخدام QUIC. عندما تكون القيمة صحيحة، سترسل QUIC إطار عنوان الطلب مع إطارات البيانات كحزمة واحدة عند الإمكان.

المعلَمات
delayRequestHeadersUntilFirstFlush: Boolean

في حال ضبط القيمة على "true"، سيتم تأخير إرسال عناوين طلبات البيانات إلى أن يتم استدعاء الدالة flush().

المرتجعات
BidirectionalStream.Builder!

تسهيل ربط السلاسل

setHttpMethod

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

تضبط هذه السمة طريقة HTTP للطلب. تعرض هذه الدالة أداة إنشاء لتسهيل الربط.

المعلَمات
method: String!

الطريقة التي سيتم استخدامها للطلب. القيمة التلقائية هي POST

المرتجعات
BidirectionalStream.Builder!

أداة الإنشاء لتسهيل الربط

setPriority

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

تضبط هذه السمة أولوية البث التي يجب أن تكون إحدى قيم STREAM_PRIORITY_*. يتم منح البث الأولوية STREAM_PRIORITY_MEDIUM إذا لم يتم استدعاء هذه الطريقة.

المعلَمات
priority: Int

أولوية البث التي يجب أن تكون إحدى قيم STREAM_PRIORITY_*

المرتجعات
BidirectionalStream.Builder!

تسهيل ربط السلاسل

setTrafficStatsTag

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

يضبط العلامة android.net.TrafficStats التي سيتم استخدامها عند تدوين سجلات الاستخدام لحركة بيانات المقبس الناتجة عن هذا الطلب. يُرجى الاطّلاع على android.net.TrafficStats للحصول على المزيد من المعلومات. في حال عدم ضبط أي علامة (على سبيل المثال، إذا لم يتم استدعاء هذه الطريقة)، سيحتسب نظام التشغيل Android عدد الزيارات الواردة من المقبس الناتجة عن هذا الطلب كما لو تم ضبط قيمة العلامة على 0.

ملاحظة: يؤدي ضبط علامة إلى عدم السماح بمشاركة مآخذ التوصيل مع الطلبات التي تتضمّن علامات أخرى، ما قد يؤثر سلبًا في الأداء من خلال حظر مشاركة الاتصال. بعبارة أخرى، لن يُسمح باستخدام المقابس المتعددة الإرسال (مثل HTTP/2 وQUIC) إلا إذا كانت جميع الطلبات تحمل علامة المقبس نفسها.

المعلَمات
tag: Int

قيمة العلامة المستخدَمة عند احتساب عدد الزيارات التي تم إنشاؤها بسبب هذا الطلب العلامات بين 0xFFFFFF00 و0xFFFFFFFF محجوزة وتستخدم داخليًا من قِبل خدمات النظام، مثل android.app.DownloadManager عند تنفيذ حركة بيانات نيابةً عن أحد التطبيقات.

المرتجعات
BidirectionalStream.Builder!

تسهيل ربط السلاسل

setTrafficStatsUid

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

يضبط معرّف UID معيّنًا لاستخدامه عند احتساب عدد زيارات المقبس الناتجة عن هذا الطلب. يُرجى الاطّلاع على android.net.TrafficStats لمزيد من المعلومات. تم تصميمها لاستخدامها عند تنفيذ عملية نيابةً عن تطبيق آخر. يجب أن يكون لدى المتصل إذن MODIFY_NETWORK_ACCOUNTING. يتمّ تلقائيًا تحديد مصدر الزيارات على أنّه رقم تعريف المتّصل.

ملاحظة: يؤدي ضبط معرّف فريد إلى عدم السماح بمشاركة مآخذ التوصيل مع الطلبات التي تتضمّن معرّفات فريدة أخرى، ما قد يؤثر سلبًا في الأداء من خلال حظر مشاركة الاتصال. بعبارة أخرى، لن يُسمح باستخدام مآخذ توصيل متعددة الإرسال (مثل HTTP/2 وQUIC) إلا إذا تم ضبط معرّف UID نفسه لجميع الطلبات.

المعلَمات
uid: Int

معرّف المستخدم (UID) الذي سيتمّ ربط عدد الزيارات الواردة إلى المقبس بهذا الطلب

المرتجعات
BidirectionalStream.Builder!

تسهيل ربط السلاسل