QuicOptions.Builder

public class QuicOptions.Builder


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

সারসংক্ষেপ

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

QuicOptions.Builder

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

QuicOptions.Builder

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

QuicOptions.Builder

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

QuicOptions.Builder

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

QuicOptions.Builder

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

QuicOptions
build ()

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

QuicOptions.Builder
@ QuicOptions.Experimental
closeSessionsOnIpChange (boolean closeSessionsOnIpChange)

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

QuicOptions.Builder
@ QuicOptions.Experimental
delayJobsWithAvailableSpdySession (
boolean delayJobsWithAvailableSpdySession
)

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

QuicOptions.Builder
@ QuicOptions.Experimental
enableTlsZeroRtt (boolean enableTlsZeroRtt)

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

QuicOptions.Builder
@ QuicOptions.Experimental
goawaySessionsOnIpChange (boolean goawaySessionsOnIpChange)

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

QuicOptions.Builder
@ QuicOptions.Experimental
increaseBrokenServicePeriodExponentially (
boolean increaseBrokenServicePeriodExponentially
)

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

QuicOptions.Builder
@ QuicOptions.Experimental
retryWithoutAltSvcOnQuicErrors (boolean retryWithoutAltSvcOnQuicErrors)

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

QuicOptions.Builder
@ QuicOptions.Experimental
setCryptoHandshakeTimeoutSeconds (long cryptoHandshakeTimeoutSeconds)

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

QuicOptions.Builder
setHandshakeUserAgent ( String handshakeUserAgent)

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

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

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

QuicOptions.Builder
setIdleConnectionTimeoutSeconds (long idleConnectionTimeoutSeconds)

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

QuicOptions.Builder
setInMemoryServerConfigsCacheSize (int inMemoryServerConfigsCacheSize)

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

QuicOptions.Builder
@ QuicOptions.Experimental
setInitialBrokenServicePeriodSeconds (
long initialBrokenServicePeriodSeconds
)

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

QuicOptions.Builder
@ QuicOptions.Experimental
setPreCryptoHandshakeIdleTimeoutSeconds (
long preCryptoHandshakeIdleTimeoutSeconds
)

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

QuicOptions.Builder
@ QuicOptions.Experimental
setRetransmittableOnWireTimeoutMillis (
long retransmittableOnWireTimeoutMillis
)

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

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

addAllowedQuicHost

public QuicOptions.Builder addAllowedQuicHost(String quicHost)

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

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

ফেরত
QuicOptions.Builder

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

addClientConnectionOption

@QuicOptions.QuichePassthroughOption
public QuicOptions.Builder addClientConnectionOption(String clientConnectionOption)

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

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

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

@QuicOptions.QuichePassthroughOption
public QuicOptions.Builder addConnectionOption(String connectionOption)

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

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

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

ফেরত
QuicOptions.Builder

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

addEnabledQuicVersion

@QuicOptions.QuichePassthroughOption
public QuicOptions.Builder addEnabledQuicVersion(String enabledQuicVersion)

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

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

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

ফেরত
QuicOptions.Builder

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

addExtraQuicheFlag

@QuicOptions.QuichePassthroughOption
public QuicOptions.Builder addExtraQuicheFlag(String extraQuicheFlag)

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

ফেরত
QuicOptions.Builder

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

নির্মাণ করুন

public QuicOptions build()

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

closeSessionsOnIpChange

@QuicOptions.Experimental
public QuicOptions.Builder closeSessionsOnIpChange(boolean closeSessionsOnIpChange)

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

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

ফেরত
QuicOptions.Builder

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

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

@QuicOptions.Experimental
public QuicOptions.Builder delayJobsWithAvailableSpdySession(
    boolean delayJobsWithAvailableSpdySession
)

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

ফেরত
QuicOptions.Builder

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

enableTlsZeroRtt

@QuicOptions.Experimental
public QuicOptions.Builder enableTlsZeroRtt(boolean enableTlsZeroRtt)

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

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

ফেরত
QuicOptions.Builder

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

goawaySessionsOnIpChange

@QuicOptions.Experimental
public QuicOptions.Builder goawaySessionsOnIpChange(boolean goawaySessionsOnIpChange)

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

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

ফেরত
QuicOptions.Builder

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

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

@QuicOptions.Experimental
public QuicOptions.Builder increaseBrokenServicePeriodExponentially(
    boolean increaseBrokenServicePeriodExponentially
)

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

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

ফেরত
QuicOptions.Builder

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

retryWithoutAltSvcOnQuicErrors

@QuicOptions.Experimental
public QuicOptions.Builder retryWithoutAltSvcOnQuicErrors(boolean retryWithoutAltSvcOnQuicErrors)

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

ফেরত
QuicOptions.Builder

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

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

@QuicOptions.Experimental
public QuicOptions.Builder setCryptoHandshakeTimeoutSeconds(long cryptoHandshakeTimeoutSeconds)

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

ফেরত
QuicOptions.Builder

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

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

public QuicOptions.Builder setHandshakeUserAgent(String handshakeUserAgent)

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

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

ফেরত
QuicOptions.Builder

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

setIdleConnectionTimeout

@RequiresApi(value = VERSION_CODES.O)
public QuicOptions.Builder setIdleConnectionTimeout(@NonNull Duration idleConnectionTimeout)

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

ফেরত
QuicOptions.Builder

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

setIdleConnectionTimeoutSeconds

public QuicOptions.Builder setIdleConnectionTimeoutSeconds(long idleConnectionTimeoutSeconds)

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

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

ফেরত
QuicOptions.Builder

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

setInMemoryServerConfigsCacheSize

public QuicOptions.Builder setInMemoryServerConfigsCacheSize(int inMemoryServerConfigsCacheSize)

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

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

ফেরত
QuicOptions.Builder

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

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

@QuicOptions.Experimental
public QuicOptions.Builder setInitialBrokenServicePeriodSeconds(
    long initialBrokenServicePeriodSeconds
)

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

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

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

ফেরত
QuicOptions.Builder

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

setPreCryptoHandshakeIdleTimeoutSeconds

@QuicOptions.Experimental
public QuicOptions.Builder setPreCryptoHandshakeIdleTimeoutSeconds(
    long preCryptoHandshakeIdleTimeoutSeconds
)

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

ফেরত
QuicOptions.Builder

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

setRetransmittableOnWireTimeoutMillis

@QuicOptions.Experimental
public QuicOptions.Builder setRetransmittableOnWireTimeoutMillis(
    long retransmittableOnWireTimeoutMillis
)

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

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

ফেরত
QuicOptions.Builder

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