UrlRequest.কলব্যাক

public 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 এর থ্রেডেই সমস্ত মেথড কল করা হবে।

সারসংক্ষেপ

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

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

void

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

abstract void

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

abstract void
onReadCompleted (
UrlRequest request,
UrlResponseInfo info,
ByteBuffer byteBuffer
)

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

abstract void
onRedirectReceived (
UrlRequest request,
UrlResponseInfo info,
String newLocationUrl
)

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

abstract void

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

abstract void

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

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

কলব্যাক

public Callback()

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

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

public void onCanceled(UrlRequest request, UrlResponseInfo info)

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

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

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

UrlResponseInfo info

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

ব্যর্থ হলে

public abstract void onFailed(
    UrlRequest request,
    UrlResponseInfo info,
    CronetException error
)

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

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

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

UrlResponseInfo info

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

CronetException error

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

onReadCompleted

public abstract void onReadCompleted(
    UrlRequest request,
    UrlResponseInfo info,
    ByteBuffer byteBuffer
)

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

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

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

UrlResponseInfo info

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

ByteBuffer byteBuffer

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

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

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

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

public abstract void onRedirectReceived(
    UrlRequest request,
    UrlResponseInfo info,
    String newLocationUrl
)

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

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

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

UrlResponseInfo info

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

String newLocationUrl

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

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

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

onResponseStarted

public abstract void onResponseStarted(UrlRequest request, UrlResponseInfo info)

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

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

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

UrlResponseInfo info

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

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

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

সফল হয়েছে

public abstract void onSucceeded(UrlRequest request, UrlResponseInfo info)

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

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

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

UrlResponseInfo info

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