QuicOptions.Builder

class QuicOptions.Builder


QuicOptions এর জন্য বিল্ডার।

সারসংক্ষেপ

জনসাধারণের কার্যাবলী

QuicOptions.Builder !
addAllowedQuicHost (quicHost: String !)

QUIC অনুমোদিত তালিকায় একটি হোস্ট যুক্ত করে।

QuicOptions.Builder !

QUIC হ্যান্ডশেকের সংযোগ বিকল্পগুলিতে পাঠানোর জন্য একটি QUIC ট্যাগ যোগ করে, যা শুধুমাত্র ক্লায়েন্টকে প্রভাবিত করে।

QuicOptions.Builder !

QUIC হ্যান্ডশেকের সংযোগ বিকল্পগুলিতে পাঠানোর জন্য একটি QUIC ট্যাগ যোগ করে।

QuicOptions.Builder !

সক্রিয় করার জন্য QUIC সংস্করণগুলির তালিকায় একটি QUIC সংস্করণ যোগ করে।

QuicOptions.Builder !

যথেচ্ছভাবে একটি QUICHE ফ্ল্যাগ নির্ধারণ করে।

QuicOptions !
build ()

এই বিল্ডারে থাকা মানগুলোর উপর ভিত্তি করে চূড়ান্ত QuicOptions ইনস্ট্যান্সটি তৈরি করে এবং ফেরত দেয়।

QuicOptions.Builder !

আইপি অ্যাড্রেস পরিবর্তনের ক্ষেত্রে QUIC সেশন বন্ধ করা হবে কিনা তা নির্ধারণ করে।

QuicOptions.Builder !
@ QuicOptions.Experimental
delayJobsWithAvailableSpdySession (
delayJobsWithAvailableSpdySession: Boolean
)

সার্ভারে পৌঁছানোর জন্য তাৎক্ষণিকভাবে প্রস্তুত কোনো দ্বিতীয় পথ (SPDY / HTTP2) থাকলেও, Cronet প্রাথমিক পথটি (সাধারণত QUIC) প্রস্তুত হওয়ার জন্য অপেক্ষা করবে কি না, তা এটি নির্ধারণ করে।

QuicOptions.Builder !

০-আরটিটি সহ টিএলএস সক্রিয় করা হবে কিনা তা নির্ধারণ করে।

QuicOptions.Builder !

আইপি অ্যাড্রেস পরিবর্তনের ক্ষেত্রে QUIC সেশনগুলো মুছে ফেলা হবে কিনা তা নির্ধারণ করে।

QuicOptions.Builder !
@ QuicOptions.Experimental
increaseBrokenServicePeriodExponentially (
increaseBrokenServicePeriodExponentially: Boolean
)

সার্ভার বিকল থাকার সময়কাল সূচকীয় হারে বাড়বে কিনা তা নির্ধারণ করে।

QuicOptions.Builder !

QUIC প্রোটোকল ত্রুটির কারণে ব্যর্থ হওয়া অনুরোধগুলি কোনো alt-svc সার্ভার ব্যবহার না করে পুনরায় চেষ্টা করা হবে কিনা তা নির্ধারণ করে।

QuicOptions.Builder !

সংযোগের SSL হ্যান্ডশেকের জন্য টাইমআউট নির্ধারণ করে।

QuicOptions.Builder !
setHandshakeUserAgent (handshakeUserAgent: String !)

HTTP অনুরোধের বাইরে ব্যবহারের জন্য ইউজার এজেন্ট নির্ধারণ করে (উদাহরণস্বরূপ QUIC হ্যান্ডশেকের জন্য)।

QuicOptions.Builder !
@ RequiresApi (value = VERSION_CODES.O )
setIdleConnectionTimeout (idleConnectionTimeout: Duration )

setIdleConnectionTimeoutSeconds মতোই, কিন্তু এখানে java.time.Duration ব্যবহৃত হয়।

QuicOptions.Builder !
setIdleConnectionTimeoutSeconds (idleConnectionTimeoutSeconds: Long )

একটি সংযোগের জন্য সর্বোচ্চ নিষ্ক্রিয় সময় নির্ধারণ করে।

QuicOptions.Builder !
setInMemoryServerConfigsCacheSize (inMemoryServerConfigsCacheSize: Int )

মেমরিতে কতগুলো সার্ভার কনফিগারেশন (যেমন বিকল্প সার্ভিসের তালিকা, QUIC সমর্থিত কিনা ইত্যাদি মেটাডেটা) সংরক্ষণ করা হবে, তা নির্ধারণ করে।

QuicOptions.Builder !
@ QuicOptions.Experimental
setInitialBrokenServicePeriodSeconds (
initialBrokenServicePeriodSeconds: Long
)

কোনো নির্দিষ্ট সার্ভারের QUIC সাপোর্ট ত্রুটিপূর্ণ প্রমাণিত হওয়ার পর, সেই সার্ভারের জন্য Cronet কখন QUIC ব্যবহার করার চেষ্টা করবে না, তার প্রাথমিক সীমা নির্ধারণ করে।

QuicOptions.Builder !
@ QuicOptions.Experimental
setPreCryptoHandshakeIdleTimeoutSeconds (
preCryptoHandshakeIdleTimeoutSeconds: Long
)

যেসব সংযোগের এখনও SSL হ্যান্ডশেক সম্পন্ন হয়নি, সেগুলোর জন্য সর্বোচ্চ নিষ্ক্রিয় সময় নির্ধারণ করে।

QuicOptions.Builder !
@ QuicOptions.Experimental
setRetransmittableOnWireTimeoutMillis (
retransmittableOnWireTimeoutMillis: Long
)

ওয়্যারে প্যাকেটগুলোর মধ্যে সর্বাধিক কাঙ্ক্ষিত সময় নির্ধারণ করে।

জনসাধারণের কার্যাবলী

addAllowedQuicHost

fun addAllowedQuicHost(quicHost: String!): QuicOptions.Builder!

QUIC অনুমোদিত তালিকায় একটি হোস্ট যুক্ত করে।

যদি কোনো হোস্ট নির্দিষ্ট করা না থাকে, তাহলে প্রতি-হোস্ট অনুমতি-তালিকা কার্যকারিতা নিষ্ক্রিয় থাকে। অন্যথায়, Cronet শুধুমাত্র অনুমতি-তালিকায় থাকা হোস্টদের সাথে যোগাযোগের সময় QUIC ব্যবহার করবে।

ফেরত
QuicOptions.Builder !

শৃঙ্খল তৈরির জন্য নির্মাতা

addClientConnectionOption

@QuicOptions.QuichePassthroughOption
fun addClientConnectionOption(clientConnectionOption: String!): QuicOptions.Builder!

QUIC হ্যান্ডশেকের সংযোগ বিকল্পগুলিতে পাঠানোর জন্য একটি QUIC ট্যাগ যোগ করে, যা শুধুমাত্র ক্লায়েন্টকে প্রভাবিত করে।

আরও বিস্তারিত জানতে addConnectionOption দেখুন।

সংযোগ বিকল্প যোগ করুন

@QuicOptions.QuichePassthroughOption
fun addConnectionOption(connectionOption: String!): QuicOptions.Builder!

QUIC হ্যান্ডশেকের সংযোগ বিকল্পগুলিতে পাঠানোর জন্য একটি QUIC ট্যাগ যোগ করে।

QUIC ট্যাগগুলো সর্বোচ্চ চার অক্ষরের স্ট্রিং হিসেবে উপস্থাপন করতে হবে (যেমন, NBHD )।

যেহেতু QUIC ট্যাগগুলো সক্রিয়ভাবে উন্নত করা হচ্ছে এবং কিছু ট্যাগ শুধুমাত্র সার্ভারের জন্যই প্রাসঙ্গিক, তাই Cronet তার API-এর অংশ হিসেবে সমস্ত সমর্থিত QUIC ফ্ল্যাগের একটি সম্পূর্ণ তালিকা বজায় রাখার চেষ্টা করে না। Cronet এবং Google সার্ভার দ্বারা ব্যবহৃত একটি QUIC ইমপ্লিমেন্টেশন, QUICHE দ্বারা সমর্থিত ফ্ল্যাগগুলো এখানে পাওয়া যাবে।

ফেরত
QuicOptions.Builder !

শৃঙ্খল তৈরির জন্য নির্মাতা

addEnabledQuicVersion

@QuicOptions.QuichePassthroughOption
fun addEnabledQuicVersion(enabledQuicVersion: String!): QuicOptions.Builder!

সক্রিয় করার জন্য QUIC সংস্করণগুলির তালিকায় একটি QUIC সংস্করণ যোগ করে।

কোনো সংস্করণ নির্দিষ্ট করা না থাকলে, Cronet ডিফল্ট QUIC সংস্করণগুলির একটি তালিকা ব্যবহার করবে।

ভার্সন ফরম্যাটটি QUICHE দ্বারা নির্দিষ্ট করা হয়। অপ্রচলিত বলে পরিচিত মানগুলি ফিল্টার করে বাদ দেওয়া ছাড়া, Cronet ভার্সনগুলিকে কোনোভাবেই প্রসেস করে না এবং সরাসরি QUICHE-এর কাছে পাঠিয়ে দেয়।

ফেরত
QuicOptions.Builder !

শৃঙ্খল তৈরির জন্য নির্মাতা

addExtraQuicheFlag

@QuicOptions.QuichePassthroughOption
fun addExtraQuicheFlag(extraQuicheFlag: String!): QuicOptions.Builder!

যেকোনো একটি QUICHE ফ্ল্যাগ সেট করে। ফ্ল্যাগগুলো FLAG_NAME=FLAG_VALUE ফরম্যাটে পাস করতে হবে। ফ্ল্যাগের সম্পূর্ণ তালিকার জন্য QUICHE কোডবেস দেখুন।

ফেরত
QuicOptions.Builder !

শৃঙ্খল তৈরির জন্য নির্মাতা

নির্মাণ করুন

fun build(): QuicOptions!

এই বিল্ডারে থাকা মানগুলোর উপর ভিত্তি করে চূড়ান্ত QuicOptions ইনস্ট্যান্সটি তৈরি করে এবং ফেরত দেয়।

closeSessionsOnIpChange

@QuicOptions.Experimental
fun closeSessionsOnIpChange(closeSessionsOnIpChange: Boolean): QuicOptions.Builder!

আইপি অ্যাড্রেস পরিবর্তনের ক্ষেত্রে QUIC সেশন বন্ধ করা হবে কিনা তা নির্ধারণ করে।

কানেকশন মাইগ্রেশন (যা ConnectionMigrationOptions ব্যবহার করে কনফিগার করা হয়) এর সাথে একত্রে ব্যবহার করবেন না।

ফেরত
QuicOptions.Builder !

শৃঙ্খল তৈরির জন্য নির্মাতা

উপলব্ধ SpdySession সহ চাকরি বিলম্বিত করুন

@QuicOptions.Experimental
fun delayJobsWithAvailableSpdySession(
    delayJobsWithAvailableSpdySession: Boolean
): QuicOptions.Builder!

সার্ভারে পৌঁছানোর জন্য তাৎক্ষণিকভাবে প্রস্তুত কোনো দ্বিতীয় পথ (SPDY / HTTP2) থাকলেও, Cronet প্রাথমিক পথটি (সাধারণত QUIC) প্রস্তুত হওয়ার জন্য অপেক্ষা করবে কি না, তা এটি নির্ধারণ করে।

ফেরত
QuicOptions.Builder !

শৃঙ্খল তৈরির জন্য নির্মাতা

enableTlsZeroRtt

@QuicOptions.Experimental
fun enableTlsZeroRtt(enableTlsZeroRtt: Boolean): QuicOptions.Builder!

০-আরটিটি সহ টিএলএস সক্রিয় করা হবে কিনা তা নির্ধারণ করে।

0-RTT হলো একটি পারফরম্যান্স অপ্টিমাইজেশন, যা কোনো পরিচিত সার্ভারের সাথে সংযোগ পুনরায় চালু করার সময় একটি অতিরিক্ত রাউন্ড ট্রিপ এড়িয়ে চলে।

ফেরত
QuicOptions.Builder !

শৃঙ্খল তৈরির জন্য নির্মাতা

goawaySessionsOnIpChange

@QuicOptions.Experimental
fun goawaySessionsOnIpChange(goawaySessionsOnIpChange: Boolean): QuicOptions.Builder!

আইপি অ্যাড্রেস পরিবর্তনের ক্ষেত্রে QUIC সেশনগুলো মুছে ফেলা হবে কিনা তা নির্ধারণ করে।

কানেকশন মাইগ্রেশন (যা ConnectionMigrationOptions ব্যবহার করে কনফিগার করা হয়) এর সাথে একত্রে ব্যবহার করবেন না।

ফেরত
QuicOptions.Builder !

শৃঙ্খল তৈরির জন্য নির্মাতা

ভাঙা পরিষেবার সময়কাল সূচকীয়ভাবে বৃদ্ধি করুন

@QuicOptions.Experimental
fun increaseBrokenServicePeriodExponentially(
    increaseBrokenServicePeriodExponentially: Boolean
): QuicOptions.Builder!

সার্ভার বিকল থাকার সময়কাল সূচকীয় হারে বাড়বে কিনা তা নির্ধারণ করে।

যদি 'true' সেট করা হয়, তাহলে প্রাথমিক বিলম্ব (যা setInitialBrokenServicePeriodSeconds ' দ্বারা কনফিগারযোগ্য) পরবর্তী পুনঃপ্রচেষ্টাগুলোর জন্য সূচকীয়ভাবে ( SCALING_FACTOR^NUM_TRIES * delay ) বৃদ্ধি পাবে। যদি 'false' সেট করা হয়, তাহলে বিলম্ব রৈখিকভাবে (SCALING_FACTOR * NUM_TRIES * delay) বৃদ্ধি পাবে।

ফেরত
QuicOptions.Builder !

শৃঙ্খল তৈরির জন্য নির্মাতা

retryWithoutAltSvcOnQuicErrors

@QuicOptions.Experimental
fun retryWithoutAltSvcOnQuicErrors(retryWithoutAltSvcOnQuicErrors: Boolean): QuicOptions.Builder!

QUIC প্রোটোকল ত্রুটির কারণে ব্যর্থ হওয়া অনুরোধগুলি কোনো alt-svc সার্ভার ব্যবহার না করে পুনরায় চেষ্টা করা হবে কিনা তা নির্ধারণ করে।

ফেরত
QuicOptions.Builder !

শৃঙ্খল তৈরির জন্য নির্মাতা

ক্রিপ্টো হ্যান্ডশেক টাইমআউট সেকেন্ড সেট করুন

@QuicOptions.Experimental
fun setCryptoHandshakeTimeoutSeconds(cryptoHandshakeTimeoutSeconds: Long): QuicOptions.Builder!

সংযোগের SSL হ্যান্ডশেকের জন্য টাইমআউট নির্ধারণ করে।

ফেরত
QuicOptions.Builder !

শৃঙ্খল তৈরির জন্য নির্মাতা

সেটহ্যান্ডশেকইউজারএজেন্ট

fun setHandshakeUserAgent(handshakeUserAgent: String!): QuicOptions.Builder!

HTTP অনুরোধের বাইরে ব্যবহারের জন্য ইউজার এজেন্ট নির্ধারণ করে (উদাহরণস্বরূপ QUIC হ্যান্ডশেকের জন্য)।

HTTP অনুরোধের জন্য ডিফল্ট ইউজার এজেন্ট সেট করতে, এর পরিবর্তে setUserAgent ব্যবহার করুন।

ফেরত
QuicOptions.Builder !

শৃঙ্খল তৈরির জন্য নির্মাতা

setIdleConnectionTimeout

@RequiresApi(value = VERSION_CODES.O)
fun setIdleConnectionTimeout(idleConnectionTimeout: Duration): QuicOptions.Builder!

setIdleConnectionTimeoutSeconds মতোই, কিন্তু এখানে java.time.Duration ব্যবহৃত হয়।

ফেরত
QuicOptions.Builder !

শৃঙ্খল তৈরির জন্য নির্মাতা

setIdleConnectionTimeoutSeconds

fun setIdleConnectionTimeoutSeconds(idleConnectionTimeoutSeconds: Long): QuicOptions.Builder!

একটি সংযোগের জন্য সর্বোচ্চ নিষ্ক্রিয় সময় নির্ধারণ করে। নিষ্ক্রিয় সময়সীমার প্রকৃত মান হলো এই মান এবং সার্ভারের নির্ধারিত মানের মধ্যে সর্বনিম্নটি, এবং এটি হ্যান্ডশেকের সময় আলোচনার মাধ্যমে নির্ধারিত হয়। সুতরাং, এটি শুধুমাত্র হ্যান্ডশেক সম্পন্ন হওয়ার পরেই প্রযোজ্য হয়। নির্ধারিত সময়কাল ধরে সংযোগে কোনো কার্যকলাপ শনাক্ত না হলে, সংযোগটি বন্ধ করে দেওয়া হয়।

আরও বিস্তারিত তথ্যের জন্য RFC 9114-এর ৫.১ অনুচ্ছেদ দেখুন।

ফেরত
QuicOptions.Builder !

শৃঙ্খল তৈরির জন্য নির্মাতা

setInMemoryServerConfigsCacheSize

fun setInMemoryServerConfigsCacheSize(inMemoryServerConfigsCacheSize: Int): QuicOptions.Builder!

মেমরিতে কতগুলো সার্ভার কনফিগারেশন (যেমন বিকল্প সার্ভিসের তালিকা, QUIC সমর্থিত কিনা ইত্যাদি মেটাডেটা) সংরক্ষণ করা হবে, তা নির্ধারণ করে।

যদি স্টোরেজ পাথ সেট করা থাকে ( setStoragePath , তাহলে Cronet সার্ভার কনফিগারেশনগুলোও ডিস্কে সংরক্ষণ করবে।

ফেরত
QuicOptions.Builder !

শৃঙ্খল তৈরির জন্য নির্মাতা

সেট ইনিশিয়াল ব্রোকেন সার্ভিস পিরিয়ড সেকেন্ড

@QuicOptions.Experimental
fun setInitialBrokenServicePeriodSeconds(
    initialBrokenServicePeriodSeconds: Long
): QuicOptions.Builder!

কোনো নির্দিষ্ট সার্ভারের QUIC সাপোর্ট ত্রুটিপূর্ণ প্রমাণিত হওয়ার পর, সেই সার্ভারের জন্য Cronet কখন QUIC ব্যবহার করার চেষ্টা করবে না, তার প্রাথমিক সীমা নির্ধারণ করে।

যখন ক্রোনেট শনাক্ত করে যে কোনো সার্ভার QUIC ব্যবহারের বিজ্ঞাপন দিলেও বাস্তবে তা ব্যবহার করে না, তখন এটি সার্ভারটিকে ত্রুটিপূর্ণ হিসেবে চিহ্নিত করে এবং একটি নির্দিষ্ট সময় পর্যন্ত সেই সার্ভারের সাথে যোগাযোগের সময় QUIC ব্যবহার করার চেষ্টা করে না। এই সময়কাল পার হয়ে গেলে ক্রোনেট আবার QUIC ব্যবহার করার চেষ্টা করে। এটি স্বল্পমেয়াদী (সার্ভারটি ত্রুটিপূর্ণ হলে QUIC ব্যবহার করে রিসোর্স নষ্ট করার কোনো মানে হয় না) এবং দীর্ঘমেয়াদী (ত্রুটিটি সাময়িক হতে পারে, QUIC ব্যবহার করা সাধারণত সুবিধাজনক) স্বার্থের মধ্যে ভারসাম্য রক্ষার জন্য করা হয়।

প্রতিটি ব্যর্থ ধারাবাহিক পুনঃপ্রচেষ্টার সাথে বিলম্বের সময় বৃদ্ধি পায়। বিস্তারিত জানতে increaseBrokenServicePeriodExponentially দেখুন।

ফেরত
QuicOptions.Builder !

শৃঙ্খল তৈরির জন্য নির্মাতা

setPreCryptoHandshakeIdleTimeoutSeconds

@QuicOptions.Experimental
fun setPreCryptoHandshakeIdleTimeoutSeconds(
    preCryptoHandshakeIdleTimeoutSeconds: Long
): QuicOptions.Builder!

যেসব সংযোগের এখনও SSL হ্যান্ডশেক সম্পন্ন হয়নি, সেগুলোর জন্য সর্বোচ্চ নিষ্ক্রিয় সময় নির্ধারণ করে।

ফেরত
QuicOptions.Builder !

শৃঙ্খল তৈরির জন্য নির্মাতা

setRetransmittableOnWireTimeoutMillis

@QuicOptions.Experimental
fun setRetransmittableOnWireTimeoutMillis(
    retransmittableOnWireTimeoutMillis: Long
): QuicOptions.Builder!

ওয়্যারে প্যাকেটগুলোর মধ্যে সর্বাধিক কাঙ্ক্ষিত সময় নির্ধারণ করে।

যখন রিট্রান্সমিটেবল-অন-ওয়্যার টাইম অতিক্রম করা হয়, তখন ক্রোনেট কৃত্রিম ট্র্যাফিক ব্যবহার করে নেটওয়ার্কের মান পরীক্ষা করে। কম টাইমআউটের ফলে সাধারণত একটি ভাঙা বা অবনতিশীল পথ দ্রুত শনাক্ত করা যায়, কিন্তু এর সাথে রিসোর্সের (ব্যাটারি, ডেটা) ব্যবহারও বেড়ে যায়।

ফেরত
QuicOptions.Builder !

শৃঙ্খল তৈরির জন্য নির্মাতা