سازنده‌ی جریان دوطرفه

abstract class BidirectionalStream.Builder


سازنده برای BidirectionalStream . امکان پیکربندی جریان را قبل از ساخت آن از طریق build فراهم می‌کند. ایجاد شده توسط newBidirectionalStreamBuilder .

خلاصه

ثابت‌ها

const Int

بالاترین اولویت جریان.

const Int

کمترین اولویت جریان.

const Int

اولویت جریان پایین.

const Int

اولویت جریان بسیار پایین.

const Int

اولویت جریان متوسط.

سازندگان عمومی

Builder ()

کارکردهای عمومی

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

یک هدر درخواست اضافه می‌کند.

BidirectionalStream.Builder !
addRequestAnnotation (annotation: Any !)

شیء حاشیه‌نویسی را با این درخواست مرتبط می‌کند.

BidirectionalStream.Builder !
bindToNetwork (networkHandle: Long )

درخواست را به شناسه شبکه مشخص شده متصل می‌کند.

abstract BidirectionalStream !
build ()

با استفاده از پیکربندی این Builder یک BidirectionalStream ایجاد می‌کند.

abstract BidirectionalStream.Builder !
delayRequestHeadersUntilFirstFlush (
delayRequestHeadersUntilFirstFlush: Boolean
)

ارسال هدرهای درخواست را تا زمان فراخوانی flush به تأخیر می‌اندازد.

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

متد HTTP را برای درخواست تنظیم می‌کند.

abstract BidirectionalStream.Builder !
setPriority (priority: Int )

اولویت جریان را تنظیم می‌کند که باید یکی از مقادیر STREAM_PRIORITY_* باشد.

BidirectionalStream.Builder !

تگ android.net.TrafficStats را برای استفاده هنگام محاسبه ترافیک سوکت ناشی از این درخواست تنظیم می‌کند.

BidirectionalStream.Builder !

شناسه کاربری (UID) خاصی را برای استفاده هنگام محاسبه ترافیک سوکت ناشی از این درخواست تنظیم می‌کند.

ثابت‌ها

بالاترین اولویت پخش

const val STREAM_PRIORITY_HIGHEST = 4: Int

بالاترین اولویت جریان. به setPriority منتقل شد.

اولویت پخش زنده

const val STREAM_PRIORITY_IDLE = 0: Int

کمترین اولویت جریان. به setPriority منتقل شد.

اولویت پخش پایین

const val STREAM_PRIORITY_LOW = 2: Int

اولویت جریان پایین. به setPriority منتقل شد.

پایین‌ترین اولویت پخش جریان

const val STREAM_PRIORITY_LOWEST = 1: Int

اولویت جریان بسیار پایین. به setPriority منتقل شد.

اولویت پخش متوسط

const val STREAM_PRIORITY_MEDIUM = 3: Int

اولویت جریان متوسط. به setPriority ارسال شد. این اولویت پیش‌فرض داده شده به جریان است.

سازندگان عمومی

سازنده

Builder()

کارکردهای عمومی

اضافه کردن هدر

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

یک هدر درخواست اضافه می‌کند. برای تسهیل زنجیره‌سازی، سازنده را برمی‌گرداند.

پارامترها
header: String !

نام سربرگ

value: String !

مقدار هدر

بازگشت‌ها
BidirectionalStream.Builder !

سازنده برای تسهیل زنجیره‌سازی

حاشیه‌نویسی درخواست اضافه

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

شیء annotation را با این درخواست مرتبط می‌کند. می‌تواند بیش از یک مورد اضافه کند. به RequestFinishedInfo.Listener ارسال می‌شود، getAnnotations مراجعه کنید.

پارامترها
annotation: Any !

یک شیء برای ارسال به RequestFinishedInfo.Listener با RequestFinishedInfo .

بازگشت‌ها
BidirectionalStream.Builder !

سازنده برای تسهیل زنجیره‌سازی.

bindToNetwork

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

درخواست را به شناسه شبکه مشخص شده متصل می‌کند. Cronet این درخواست را فقط با استفاده از شبکه مرتبط با این شناسه ارسال می‌کند. اگر این شبکه قطع شود، درخواست با شکست مواجه می‌شود، خطای دقیق به مرحله پردازش درخواست هنگام قطع شبکه بستگی دارد. شناسه‌های شبکه را می‌توان از طریق Network#getNetworkHandle دریافت کرد. فقط از اندروید مارشمالو به بعد در دسترس است.

پارامترها
networkHandle: Long

شناسه شبکه‌ای که درخواست به آن متصل می‌شود. برای لغو اتصال، UNBIND_NETWORK_HANDLE را مشخص کنید.

بازگشت‌ها
BidirectionalStream.Builder !

سازنده برای تسهیل زنجیره‌سازی.

ساختن

abstract fun build(): BidirectionalStream!

با استفاده از پیکربندی این Builder یک BidirectionalStream ایجاد می‌کند. سپس BidirectionalStream برگردانده شده می‌تواند با فراخوانی start آغاز شود.

بازگشت‌ها
BidirectionalStream !

با استفاده از پیکربندی این Builder BidirectionalStream ساخته شد

هدرهای درخواست تأخیری تا اولین تخلیه

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

ارسال هدرهای درخواست را تا زمان فراخوانی flush به تأخیر می‌اندازد. این پرچم در حال حاضر فقط زمانی که QUIC مذاکره می‌شود، رعایت می‌شود. وقتی درست باشد، QUIC در صورت امکان، فریم هدر درخواست را به همراه فریم(های) داده به صورت یک بسته واحد ارسال می‌کند.

پارامترها
delayRequestHeadersUntilFirstFlush: Boolean

اگر درست باشد، ارسال هدرهای درخواست تا زمان فراخوانی flush() به تأخیر می‌افتد.

بازگشت‌ها
BidirectionalStream.Builder !

سازنده برای تسهیل زنجیره‌سازی.

متد setHttp

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

متد HTTP را برای درخواست تنظیم می‌کند. برای تسهیل زنجیره‌سازی، سازنده را برمی‌گرداند.

پارامترها
method: String !

روشی که برای درخواست استفاده می‌شود. پیش‌فرض «POST» است.

بازگشت‌ها
BidirectionalStream.Builder !

سازنده برای تسهیل زنجیره‌سازی

اولویت را تنظیم کنید

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

اولویت جریان را تنظیم می‌کند که باید یکی از مقادیر STREAM_PRIORITY_* باشد. اگر این متد فراخوانی نشود، اولویت STREAM_PRIORITY_MEDIUM به جریان داده می‌شود.

پارامترها
priority: Int

اولویت جریان که باید یکی از مقادیر STREAM_PRIORITY_* باشد.

بازگشت‌ها
BidirectionalStream.Builder !

سازنده برای تسهیل زنجیره‌سازی.

تنظیم آمار ترافیک

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

تگ android.net.TrafficStats را برای استفاده هنگام محاسبه ترافیک سوکت ناشی از این درخواست تنظیم می‌کند. برای اطلاعات بیشتر به android.net.TrafficStats مراجعه کنید. اگر هیچ تگی تنظیم نشده باشد (مثلاً این متد فراخوانی نشده باشد)، اندروید ترافیک سوکت ناشی از این درخواست را طوری محاسبه می‌کند که انگار مقدار تگ روی ۰ تنظیم شده است.

نکته: تنظیم یک تگ، اشتراک‌گذاری سوکت‌ها با درخواست‌ها با تگ‌های دیگر را ممنوع می‌کند، که ممکن است با جلوگیری از اشتراک‌گذاری اتصال، بر عملکرد تأثیر منفی بگذارد. به عبارت دیگر، استفاده از سوکت‌های مالتی‌پلکس (مثلاً 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 را داشته باشد. به طور پیش فرض، ترافیک به شناسه کاربری (UID) تماس گیرنده نسبت داده می‌شود.

نکته: تنظیم یک UID، اشتراک‌گذاری سوکت‌ها با درخواست‌ها با UIDهای دیگر را ممنوع می‌کند، که ممکن است با جلوگیری از اشتراک‌گذاری اتصال، بر عملکرد تأثیر منفی بگذارد. به عبارت دیگر، استفاده از سوکت‌های مالتی‌پلکس (مثلاً HTTP/2 و QUIC) فقط در صورتی مجاز خواهد بود که همه درخواست‌ها دارای مجموعه UID یکسانی باشند.

پارامترها
uid: Int

شناسه کاربری (UID) برای نسبت دادن ترافیک سوکت ناشی از این درخواست.

بازگشت‌ها
BidirectionalStream.Builder !

سازنده برای تسهیل زنجیره‌سازی.