দ্বিমুখী স্ট্রিম.বিল্ডার

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 !

নির্মাতা শৃঙ্খলীকরণ সহজ করতে

addRequestAnnotation

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

এই অনুরোধের সাথে অ্যানোটেশন অবজেক্টটি যুক্ত করে। একাধিক যোগ করা যেতে পারে। এটি একটি RequestFinishedInfo.Listener এ পাঠানো হয়, getAnnotations দেখুন।

প্যারামিটার
annotation: Any !

RequestFinishedInfo.Listener এর সাথে RequestFinishedInfo এ পাঠানোর জন্য একটি অবজেক্ট।

ফেরত
BidirectionalStream.Builder !

শৃঙ্খলীকরণ সহজ করার জন্য নির্মাতা।

বাইন্ডটুনেটওয়ার্ক

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

অনুরোধটিকে নির্দিষ্ট নেটওয়ার্ক হ্যান্ডেলের সাথে সংযুক্ত করে। ক্রোনেট এই অনুরোধটি শুধুমাত্র এই হ্যান্ডেলের সাথে যুক্ত নেটওয়ার্ক ব্যবহার করেই পাঠাবে। যদি এই নেটওয়ার্কটি সংযোগ বিচ্ছিন্ন হয়ে যায়, তবে অনুরোধটি ব্যর্থ হবে; নেটওয়ার্ক সংযোগ বিচ্ছিন্ন হওয়ার সময় অনুরোধ প্রক্রিয়াকরণের কোন পর্যায়ে ত্রুটিটি ঘটবে, তার উপর নির্ভর করবে। 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 নেগোসিয়েশনের সময় কার্যকর হয়। যখন এটি 'true' হয়, QUIC সম্ভব হলে রিকোয়েস্ট হেডার ফ্রেমটি ডেটা ফ্রেমের সাথে একটি একক প্যাকেট হিসাবে পাঠাবে।

প্যারামিটার
delayRequestHeadersUntilFirstFlush: Boolean

যদি সত্য হয়, তাহলে flush() কল না করা পর্যন্ত রিকোয়েস্ট হেডার পাঠানো বিলম্বিত হবে।

ফেরত
BidirectionalStream.Builder !

শৃঙ্খলীকরণ সহজ করার জন্য নির্মাতা।

setHttpMethod

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 !

শৃঙ্খলীকরণ সহজ করার জন্য নির্মাতা।