UrlRequest.কলব্যাক

abstract class UrlRequest.Callback

পরিচিত সরাসরি সাবক্লাস ImplicitFlowControlCallback
ImplicitFlowControlCallback

UrlRequest.Callback এর এমন একটি বাস্তবায়ন যা রিকোয়েস্ট লাইফসাইকেল পরিচালনার জটিলতা দূর করে এবং স্বয়ংক্রিয়ভাবে সম্পূর্ণ রেসপন্সটি পড়ে ফেলে।

পরিচিত পরোক্ষ সাবক্লাসগুলো হলো: ByteArrayCronetCallback , InMemoryTransformCronetCallback , JsonCronetCallback , StringCronetCallback
ByteArrayCronetCallback

InMemoryTransformCronetCallback এর একটি বিশেষায়িত রূপ, যা কোনো ব্যাখ্যা ছাড়াই বডি বাইটগুলো হুবহু ফেরত দেয়।

InMemoryTransformCronetCallback

একটি অ্যাবস্ট্রাক্ট ক্রোনেট কলব্যাক যা সম্পূর্ণ বডিটি মেমরিতে পড়ে এবং ঐচ্ছিকভাবে HTTP অনুরোধকারীর কাছে ফেরত পাঠানোর আগে বডিটিকে ডিসিরিয়ালাইজ করে।

JsonCronetCallback

InMemoryTransformCronetCallback এর একটি বিশেষায়িত রূপ যা রেসপন্স বডিকে JSON হিসেবে ব্যাখ্যা করে।

StringCronetCallback

InMemoryTransformCronetCallback এর একটি বিশেষায়িত রূপ যা রেসপন্স বডিকে একটি স্ট্রিং হিসেবে ব্যাখ্যা করে।


Cronet-এর ব্যবহারকারীরা একটি UrlRequest প্রক্রিয়াকরণের অগ্রগতির নির্দেশক কলব্যাক গ্রহণ করার জন্য এই ক্লাসটি এক্সটেন্ড করেন। UrlRequest তৈরি করার সময় এই ক্লাসের একটি ইনস্ট্যান্স UrlRequest.Builder এর কনস্ট্রাক্টরে পাস করা হয়।

দ্রষ্টব্য: UrlRequest তৈরির সময় ব্যবহৃত java.util.concurrent.Executor এর থ্রেডেই সমস্ত মেথড কল করা হবে।

সারসংক্ষেপ

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

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

Unit
onCanceled (request: UrlRequest !, info: UrlResponseInfo !)

cancel এর মাধ্যমে অনুরোধটি বাতিল করা হলে এটি কার্যকর হয়।

abstract Unit
onFailed (
request: UrlRequest !,
info: UrlResponseInfo !,
error: CronetException !
)

start পর যেকোনো কারণে অনুরোধ ব্যর্থ হলে এটি কার্যকর হয়।

abstract Unit
onReadCompleted (
request: UrlRequest !,
info: UrlResponseInfo !,
byteBuffer: ByteBuffer !
)

যখনই প্রতিক্রিয়ার মূল অংশের কোনো অংশ পড়া হয়, তখনই এটি কার্যকর হয়।

abstract Unit
onRedirectReceived (
request: UrlRequest !,
info: UrlResponseInfo !,
newLocationUrl: String !
)

যখনই কোনো পুনঃনির্দেশের সম্মুখীন হওয়া যায়, তখনই এটি কার্যকর হয়।

abstract Unit

সমস্ত রিডাইরেক্টের পর হেডারগুলির চূড়ান্ত সেট প্রাপ্ত হলে এটি কার্যকর হয়।

abstract Unit
onSucceeded (request: UrlRequest !, info: UrlResponseInfo !)

অনুরোধ সফলভাবে সম্পন্ন হলে এটি কার্যকর হয়।

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

কলব্যাক

Callback()

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

বাতিল করা হয়েছে

fun onCanceled(request: UrlRequest!, info: UrlResponseInfo!): Unit

cancel মাধ্যমে অনুরোধ বাতিল করা হলে এটি কল করা হয়। একবার কল করা হলে, অন্য কোনো Callback মেথড কল করা হবে না। ডিফল্ট ইমপ্লিমেন্টেশন কোনো পদক্ষেপ নেয় না।

প্যারামিটার
request: UrlRequest !

যে অনুরোধটি বাতিল করা হয়েছিল।

info: UrlResponseInfo !

প্রতিক্রিয়া সম্পর্কিত তথ্য। কোনো প্রতিক্রিয়া না পাওয়া গেলে এটি null হতে পারে।

ব্যর্থ হলে

abstract fun onFailed(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    error: CronetException!
): Unit

start পর যেকোনো কারণে অনুরোধ ব্যর্থ হলে এটি চালু হয়। একবার চালু হলে, অন্য কোনো Callback মেথড চালু হবে না। error ব্যর্থতা সম্পর্কে তথ্য প্রদান করে।

প্যারামিটার
request: UrlRequest !

অনুরোধটি ব্যর্থ হয়েছে।

info: UrlResponseInfo !

প্রতিক্রিয়া সম্পর্কিত তথ্য। কোনো প্রতিক্রিয়া না পাওয়া গেলে এটি null হতে পারে।

error: CronetException !

ত্রুটি সম্পর্কিত তথ্য।

onReadCompleted

abstract fun onReadCompleted(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    byteBuffer: ByteBuffer!
): Unit

যখনই রেসপন্স বডির কোনো অংশ পড়া হয়ে যায়, তখনই এটি কল করা হয়। সম্পূর্ণ রেসপন্স বডি পড়া শেষ না হলেও, বাফারের কেবল একটি অংশই পূর্ণ হতে পারে। onCanceled() ছাড়া, রেসপন্স বডি পড়া চালিয়ে যাওয়ার চেষ্টার জন্য UrlRequest.read() কল না করা পর্যন্ত, onSucceeded() এবং onFailed() সহ সেই রিকোয়েস্টের জন্য অন্য কোনো Callback মেথড কল করা হবে না।

প্যারামিটার
request: UrlRequest !

প্রাপ্ত ডেটার জন্য অনুরোধ।

info: UrlResponseInfo !

প্রতিক্রিয়া সংক্রান্ত তথ্য।

byteBuffer: ByteBuffer !

UrlRequest.read() -এ পাঠানো বাফারটিতে এখন প্রাপ্ত ডেটা রয়েছে। বাফারটির অবস্থান প্রাপ্ত ডেটার শেষ পর্যন্ত আপডেট করা হয়। বাফারটির সীমা অপরিবর্তিত থাকে।

নিক্ষেপ
java.lang.Exception

রিড কমপ্লিশন প্রসেস করার সময় কোনো ত্রুটি ঘটলে, onFailed কল করা হবে এবং থ্রো করা এক্সেপশনটিকে CallbackException এর কারণ হিসেবে সেট করা হবে।

পুনঃনির্দেশ প্রাপ্ত

abstract fun onRedirectReceived(
    request: UrlRequest!,
    info: UrlResponseInfo!,
    newLocationUrl: String!
): Unit

যখনই কোনো রিডাইরেক্টের সম্মুখীন হওয়া যায়, তখনই এটি কল করা হয়। এটি শুধুমাত্র ` start কল এবং onResponseStarted() এর মধ্যবর্তী সময়েই কল করা হবে। রিডাইরেক্ট রেসপন্সের বডি, যদি থাকে, তবে তা উপেক্ষা করা হবে। `URLRequest`-এর followRedirect মেথডটি সিনক্রোনাসলি বা অ্যাসিনক্রোনাসলি কল না করা পর্যন্ত রিডাইরেক্টটি অনুসরণ করা হবে না।

প্যারামিটার
request: UrlRequest !

অনুরোধটি পুনঃনির্দেশিত করা হচ্ছে।

info: UrlResponseInfo !

প্রতিক্রিয়া সংক্রান্ত তথ্য।

newLocationUrl: String !

যে স্থানে অনুরোধটি পুনঃনির্দেশিত করা হয়েছে।

নিক্ষেপ
java.lang.Exception

রিডাইরেক্ট প্রক্রিয়া করার সময় কোনো ত্রুটি ঘটলে, onFailed কল করা হবে এবং CallbackException এর কারণ হিসেবে থ্রো করা এক্সেপশনটিকে সেট করা হবে।

onResponseStarted

abstract fun onResponseStarted(request: UrlRequest!, info: UrlResponseInfo!): Unit

সমস্ত রিডাইরেক্টের পর হেডারগুলির চূড়ান্ত সেট প্রাপ্ত হলে এটি কল করা হয়। প্রতিটি অনুরোধের জন্য এটি কেবল একবারই কল করা হবে। onCanceled() ব্যতীত, রেসপন্স বডি পড়া শুরু করার চেষ্টার জন্য UrlRequest.read() কল না করা পর্যন্ত অনুরোধটির জন্য onSucceeded() এবং onFailed() সহ অন্য কোনো Callback মেথড কল করা হবে না।

প্যারামিটার
request: UrlRequest !

যে অনুরোধটির সাড়া পাওয়া শুরু হয়েছে।

info: UrlResponseInfo !

প্রতিক্রিয়া সংক্রান্ত তথ্য।

নিক্ষেপ
java.lang.Exception

রেসপন্স প্রসেস করার শুরুতে কোনো ত্রুটি ঘটলে, onFailed কল করা হবে এবং CallbackException এর কারণ হিসেবে থ্রো করা এক্সেপশনটিকে সেট করা হবে।

সফল হয়েছে

abstract fun onSucceeded(request: UrlRequest!, info: UrlResponseInfo!): Unit

অনুরোধ সফলভাবে সম্পন্ন হলে এটি চালু হয়। একবার চালু হলে, অন্য কোনো Callback মেথড চালু হবে না।

প্যারামিটার
request: UrlRequest !

অনুরোধটি সফল হয়েছে।

info: UrlResponseInfo !

প্রতিক্রিয়া সংক্রান্ত তথ্য।