BidirectionalStream.Builder

public abstract class BidirectionalStream.Builder


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

ملخّص

الثوابت

static final int

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

static final int

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

static final int

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

static final int

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

static final int

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

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

الإجراءات العامة

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

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

BidirectionalStream.Builder

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

BidirectionalStream.Builder
bindToNetwork(long networkHandle)

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

abstract BidirectionalStream

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

abstract BidirectionalStream.Builder
delayRequestHeadersUntilFirstFlush(
    boolean delayRequestHeadersUntilFirstFlush
)

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

abstract BidirectionalStream.Builder

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

abstract BidirectionalStream.Builder
setPriority(int priority)

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

BidirectionalStream.Builder

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

BidirectionalStream.Builder

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

الثوابت

STREAM_PRIORITY_HIGHEST

public static final int STREAM_PRIORITY_HIGHEST = 4

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

STREAM_PRIORITY_IDLE

public static final int STREAM_PRIORITY_IDLE = 0

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

STREAM_PRIORITY_LOW

public static final int STREAM_PRIORITY_LOW = 2

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

STREAM_PRIORITY_LOWEST

public static final int STREAM_PRIORITY_LOWEST = 1

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

STREAM_PRIORITY_MEDIUM

public static final int STREAM_PRIORITY_MEDIUM = 3

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

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

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

public Builder()

الإجراءات العامة

addHeader

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

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

المعلَمات
String header

اسم العنوان

String value

قيمة العنوان

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

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

addRequestAnnotation

public BidirectionalStream.Builder addRequestAnnotation(Object annotation)

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

المعلَمات
Object annotation

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

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

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

bindToNetwork

public BidirectionalStream.Builder bindToNetwork(long networkHandle)

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

المعلَمات
long networkHandle

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

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

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

إنشاء

public abstract BidirectionalStream build()

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

المرتجعات
BidirectionalStream

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

delayRequestHeadersUntilFirstFlush

public abstract BidirectionalStream.Builder delayRequestHeadersUntilFirstFlush(
    boolean delayRequestHeadersUntilFirstFlush
)

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

المعلَمات
boolean delayRequestHeadersUntilFirstFlush

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

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

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

setHttpMethod

public abstract BidirectionalStream.Builder setHttpMethod(String method)

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

المعلَمات
String method

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

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

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

setPriority

public abstract BidirectionalStream.Builder setPriority(int priority)

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

المعلَمات
int priority

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

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

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

setTrafficStatsTag

public BidirectionalStream.Builder setTrafficStatsTag(int tag)

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

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

المعلَمات
int tag

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

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

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

setTrafficStatsUid

public BidirectionalStream.Builder setTrafficStatsUid(int uid)

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

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

المعلَمات
int uid

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

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

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