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

public abstract class BidirectionalStream.Builder


দ্বিমুখী স্ট্রিম BidirectionalStream )-এর জন্য বিল্ডার। এটি build মাধ্যমে স্ট্রিম তৈরি করার আগে কনফিগার করার সুযোগ দেয়। newBidirectionalStreamBuilder দ্বারা তৈরি।

সারসংক্ষেপ

ধ্রুবক

static final int

সর্বোচ্চ স্ট্রিম অগ্রাধিকার।

static final int

সর্বনিম্ন স্ট্রিম অগ্রাধিকার।

static final int

নিম্ন স্ট্রিম অগ্রাধিকার।

static final int

স্ট্রিমের অগ্রাধিকার খুব কম।

static final int

মাঝারি প্রবাহের অগ্রাধিকার।

সরকারি নির্মাণকারী

Builder ()

জনসাধারণের পদ্ধতি

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

একটি অনুরোধ হেডার যোগ করে।

BidirectionalStream.Builder

এই অনুরোধের সাথে অ্যানোটেশন অবজেক্টটি সংযুক্ত করে।

BidirectionalStream.Builder
bindToNetwork (long networkHandle)

অনুরোধটিকে নির্দিষ্ট নেটওয়ার্ক হ্যান্ডেলের সাথে সংযুক্ত করে।

abstract BidirectionalStream
build ()

এই Builder কনফিগারেশন ব্যবহার করে একটি BidirectionalStream তৈরি করে।

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 নির্ধারণ করে।

ধ্রুবক

স্ট্রিম_অগ্রাধিকার_সর্বোচ্চ

public static final int STREAM_PRIORITY_HIGHEST = 4

সর্বোচ্চ স্ট্রিম অগ্রাধিকার। এটি setPriority তে পাঠানো হয়।

স্ট্রিম_প্রায়োরিটি_আইডল

public static final int STREAM_PRIORITY_IDLE = 0

সর্বনিম্ন স্ট্রিম অগ্রাধিকার। এটি setPriority তে পাস করা হয়।

স্ট্রিম_প্রায়োরিটি_লো

public static final int STREAM_PRIORITY_LOW = 2

স্ট্রিমের অগ্রাধিকার কম। এটি setPriority তে পাঠানো হয়েছে।

স্ট্রিম_অগ্রাধিকার_সর্বনিম্ন

public static final int STREAM_PRIORITY_LOWEST = 1

স্ট্রিমের অগ্রাধিকার খুব কম। এটি setPriority তে পাঠানো হয়েছে।

স্ট্রিম_প্রায়োরিটি_মিডিয়াম

public static final int STREAM_PRIORITY_MEDIUM = 3

মাঝারি স্ট্রিম অগ্রাধিকার। এটি setPriority তে পাস করা হয়। এটি স্ট্রিমকে দেওয়া ডিফল্ট অগ্রাধিকার।

সরকারি নির্মাণকারী

নির্মাতা

public Builder()

জনসাধারণের পদ্ধতি

হেডার যোগ করুন

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

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

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

public BidirectionalStream.Builder bindToNetwork(long networkHandle)

অনুরোধটিকে নির্দিষ্ট নেটওয়ার্ক হ্যান্ডেলের সাথে সংযুক্ত করে। ক্রোনেট এই অনুরোধটি শুধুমাত্র এই হ্যান্ডেলের সাথে যুক্ত নেটওয়ার্ক ব্যবহার করেই পাঠাবে। যদি এই নেটওয়ার্কটি সংযোগ বিচ্ছিন্ন হয়ে যায়, তবে অনুরোধটি ব্যর্থ হবে; নেটওয়ার্ক সংযোগ বিচ্ছিন্ন হওয়ার সময় অনুরোধ প্রক্রিয়াকরণের কোন পর্যায়ে ত্রুটিটি ঘটবে, তার উপর নির্ভর করবে। Network#getNetworkHandle এর মাধ্যমে নেটওয়ার্ক হ্যান্ডেল পাওয়া যায়। এটি শুধুমাত্র অ্যান্ড্রয়েড মার্শমেলো থেকে উপলব্ধ।

প্যারামিটার
long networkHandle

অনুরোধটি বাইন্ড করার জন্য নেটওয়ার্ক হ্যান্ডেল। আনবাইন্ড করতে UNBIND_NETWORK_HANDLE উল্লেখ করুন।

ফেরত
BidirectionalStream.Builder

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

নির্মাণ করুন

public abstract BidirectionalStream build()

এই Builder কনফিগারেশন ব্যবহার করে একটি BidirectionalStream তৈরি করে। ফেরত আসা BidirectionalStream এরপর start কল করে চালু করা যায়।

ফেরত
BidirectionalStream

এই Builder কনফিগারেশন ব্যবহার করে BidirectionalStream তৈরি করা হয়েছে

প্রথম ফ্লাশ পর্যন্ত অনুরোধ হেডারগুলি বিলম্বিত করুন

public abstract BidirectionalStream.Builder delayRequestHeadersUntilFirstFlush(
    boolean delayRequestHeadersUntilFirstFlush
)

flush কল না করা পর্যন্ত রিকোয়েস্ট হেডার পাঠানো বিলম্বিত করে। এই ফ্ল্যাগটি বর্তমানে শুধুমাত্র QUIC নেগোসিয়েশনের সময় কার্যকর হয়। যখন এটি 'true' হয়, QUIC সম্ভব হলে রিকোয়েস্ট হেডার ফ্রেমটি ডেটা ফ্রেমের সাথে একটি একক প্যাকেট হিসাবে পাঠাবে।

প্যারামিটার
boolean delayRequestHeadersUntilFirstFlush

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

ফেরত
BidirectionalStream.Builder

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

setHttpMethod

public abstract BidirectionalStream.Builder setHttpMethod(String method)

অনুরোধের জন্য HTTP মেথড নির্ধারণ করে। চেইনিং সহজ করার জন্য বিল্ডার রিটার্ন করে।

প্যারামিটার
String method

অনুরোধের জন্য ব্যবহৃত পদ্ধতি। ডিফল্ট হলো 'POST'।

ফেরত
BidirectionalStream.Builder

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

অগ্রাধিকার নির্ধারণ করুন

public abstract BidirectionalStream.Builder setPriority(int priority)

স্ট্রিমের অগ্রাধিকার নির্ধারণ করে, যা STREAM_PRIORITY_* মানগুলোর মধ্যে একটি হওয়া উচিত। যদি এই মেথডটি কল করা না হয়, তবে স্ট্রিমটিকে STREAM_PRIORITY_MEDIUM অগ্রাধিকার দেওয়া হয়।

প্যারামিটার
int priority

স্ট্রিমটির অগ্রাধিকার STREAM_PRIORITY_* মানগুলোর মধ্যে একটি হওয়া উচিত।

ফেরত
BidirectionalStream.Builder

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

ট্র্যাফিক পরিসংখ্যান ট্যাগ সেট করুন

public BidirectionalStream.Builder setTrafficStatsTag(int tag)

এই অনুরোধের কারণে সৃষ্ট সকেট ট্র্যাফিকের হিসাব রাখার জন্য android.net.TrafficStats ট্যাগটি সেট করে। আরও তথ্যের জন্য android.net.TrafficStats দেখুন। যদি কোনো ট্যাগ সেট করা না থাকে (যেমন এই মেথডটি কল করা না হলে), তাহলে অ্যান্ড্রয়েড এই অনুরোধের কারণে সৃষ্ট সকেট ট্র্যাফিকের হিসাব এমনভাবে রাখে যেন ট্যাগের মান ০ সেট করা আছে।

দ্রষ্টব্য: একটি ট্যাগ সেট করলে অন্য ট্যাগযুক্ত অনুরোধের সাথে সকেট শেয়ার করা যায় না, যা সংযোগ শেয়ারিং নিষিদ্ধ করার মাধ্যমে পারফরম্যান্সের উপর বিরূপ প্রভাব ফেলতে পারে। অন্য কথায়, মাল্টিপ্লেক্সড সকেট (যেমন 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 পারমিশন থাকতে হবে। ডিফল্টরূপে, ট্র্যাফিক কলারের UID-এর অধীনে আরোপিত হয়।

দ্রষ্টব্য: একটি UID সেট করলে অন্য UID-যুক্ত অনুরোধের সাথে সকেট শেয়ার করা যায় না, যা সংযোগ শেয়ারিং নিষিদ্ধ করার মাধ্যমে পারফরম্যান্সের উপর বিরূপ প্রভাব ফেলতে পারে। অন্য কথায়, মাল্টিপ্লেক্সড সকেট (যেমন HTTP/2 এবং QUIC) ব্যবহার করার অনুমতি কেবল তখনই দেওয়া হবে, যখন সমস্ত অনুরোধে একই UID সেট করা থাকবে।

প্যারামিটার
int uid

এই অনুরোধের কারণে সৃষ্ট সকেট ট্র্যাফিক চিহ্নিত করার জন্য UID।

ফেরত
BidirectionalStream.Builder

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