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

public abstract class BidirectionalStream.Callback


BidirectionalStream থেকে কলব্যাক গ্রহণ করতে ব্যবহৃত কলব্যাক ক্লাস।

সারসংক্ষেপ

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

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

void

cancel এর মাধ্যমে স্ট্রিমটি বাতিল করা হলে এটি কার্যকর হয়।

abstract void

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

abstract void
onReadCompleted (
BidirectionalStream stream,
UrlResponseInfo info,
ByteBuffer buffer,
boolean endOfStream
)

read() ফাংশনে প্রদত্ত বাফারে ডেটা পড়া হলে এটি কার্যকর হয়।

abstract void

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

void

স্ট্রিম বন্ধ করার আগে ট্রেলার পাওয়া গেলে এটি সক্রিয় হয়।

abstract void

স্ট্রিমটি পড়া এবং লেখার জন্য প্রস্তুত হলে এটি চালু হয়।

abstract void

যখন পড়ার বা লেখার মতো কোনো ডেটা থাকে না এবং স্ট্রিমটি দূরবর্তীভাবে ও স্থানীয়ভাবে সফলভাবে বন্ধ করা হয়, তখন এটি কার্যকর হয়।

abstract void
onWriteCompleted (
BidirectionalStream stream,
UrlResponseInfo info,
ByteBuffer buffer,
boolean endOfStream
)

যখন write() ফাংশনে পাঠানো সম্পূর্ণ ByteBuffer-টি পাঠানো হয়, তখন এটি কার্যকর হয়।

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

কলব্যাক

public Callback()

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

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

public void onCanceled(BidirectionalStream stream, UrlResponseInfo info)

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

প্যারামিটার
BidirectionalStream stream

যে স্ট্রিমটি বাতিল করা হয়েছিল

UrlResponseInfo info

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

ব্যর্থ হলে

public abstract void onFailed(
    BidirectionalStream stream,
    UrlResponseInfo info,
    CronetException error
)

start পর যেকোনো কারণে স্ট্রিম ব্যর্থ হলে এটি কল করা হয়। HTTP/2 এরর কোডগুলোকে getCronetInternalErrorCode কোডগুলোর সাথে ম্যাপ করা হয়। একবার কল করা হলে, এরপর আর কোনো BidirectionalStream.Callback মেথড কল করা হবে না।

প্যারামিটার
BidirectionalStream stream

যে স্রোতটি ব্যর্থ হয়েছে

UrlResponseInfo info

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

CronetException error

ব্যর্থতা সম্পর্কে তথ্য

onReadCompleted

public abstract void onReadCompleted(
    BidirectionalStream stream,
    UrlResponseInfo info,
    ByteBuffer buffer,
    boolean endOfStream
)

read() ফাংশনে দেওয়া বাফারে ডেটা পড়া হলে এটি কল করা হয়। বাফারের শুধুমাত্র একটি অংশই পূরণ করা যেতে পারে। পড়া চালিয়ে যেতে, read() আবার কল করুন। ট্রেলার পাওয়ার আগে যদি পড়ার জন্য কোনো ডেটা বাকি থাকে, তবে এটি onResponseTrailersReceived() পরেও কল করা হতে পারে।

প্যারামিটার
BidirectionalStream stream

যে স্ট্রিমে রিডটি সম্পন্ন হয়েছিল

UrlResponseInfo info

প্রতিক্রিয়া তথ্য

ByteBuffer buffer

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

boolean endOfStream

যদি সত্য হয়, তবে এটিই সর্বশেষ পঠিত ডেটা, রিমোট আর কোনো ডেটা পাঠাবে না এবং রিড সাইডটি বন্ধ হয়ে যাবে।

onResponseHeadersReceived

public abstract void onResponseHeadersReceived(
    BidirectionalStream stream,
    UrlResponseInfo info
)

প্রাথমিক প্রতিক্রিয়া হেডারগুলি প্রাপ্ত হলে এটি চালু হয়। হেডারগুলি info. getAllHeaders() থেকে পাওয়া যায়। ব্যবহারকারী পড়া শুরু করতে read() কল করতে পারেন। ব্যবহারকারী লেখা শুরু করতে বা স্ট্রিমটি বন্ধ করতে write() কল করতে পারেন।

প্যারামিটার
BidirectionalStream stream

যে স্ট্রিমে রেসপন্স হেডারগুলো গ্রহণ করা হয়েছিল।

UrlResponseInfo info

প্রতিক্রিয়া তথ্য।

onResponseTrailersReceived

public void onResponseTrailersReceived(
    BidirectionalStream stream,
    UrlResponseInfo info,
    UrlResponseInfo.HeaderBlock trailers
)

স্ট্রিম বন্ধ করার আগে ট্রেলার পাওয়া গেলে এটি চালু হয়। এটি শুধুমাত্র তখনই চালু হয় যখন সার্ভার ট্রেলার পাঠায়, যা সার্ভার নাও পাঠাতে পারে। লোকাল বাফারে পঠিত ডেটা অবশিষ্ট থাকা অবস্থাতেও এটি চালু হতে পারে। ডিফল্ট ইমপ্লিমেন্টেশন কোনো পদক্ষেপ নেয় না।

প্যারামিটার
BidirectionalStream stream

যে স্ট্রিমে প্রতিক্রিয়া ট্রেলারগুলি পাওয়া গিয়েছিল

UrlResponseInfo info

প্রতিক্রিয়া তথ্য

UrlResponseInfo.HeaderBlock trailers

ট্রেলারগুলি পেয়েছে

অনস্ট্রিমরেডি

public abstract void onStreamReady(BidirectionalStream stream)

স্ট্রিমটি পড়া এবং লেখার জন্য প্রস্তুত হলে এটি কল করা হয়। ডেটা পড়া শুরু করতে কনজিউমার read() কল করতে পারে। ডেটা লেখা শুরু করতে কনজিউমার write() কল করতে পারে।

প্যারামিটার
BidirectionalStream stream

যে স্ট্রিমটি প্রস্তুত।

সফল হয়েছে

public abstract void onSucceeded(BidirectionalStream stream, UrlResponseInfo info)

যখন পড়ার বা লেখার মতো কোনো ডেটা থাকে না এবং স্ট্রিমটি দূরবর্তী ও স্থানীয়ভাবে সফলভাবে বন্ধ হয়ে যায়, তখন এটি কার্যকর হয়। একবার কার্যকর হলে, এরপর আর কোনো BidirectionalStream.Callback মেথড কার্যকর হবে না।

প্যারামিটার
BidirectionalStream stream

যে স্ট্রিমটি সফলভাবে বন্ধ করা হয়েছে

UrlResponseInfo info

প্রতিক্রিয়া তথ্য

onWriteCompleted

public abstract void onWriteCompleted(
    BidirectionalStream stream,
    UrlResponseInfo info,
    ByteBuffer buffer,
    boolean endOfStream
)

যখন write() ফাংশনে পাঠানো সম্পূর্ণ ByteBuffer-টি পাঠানো হয়, তখন এটি কল করা হয়। বাফারের অবস্থান আপডেট করে বাফারের লিমিটের সমান করা হয়। বাফারের লিমিট পরিবর্তন করা হয় না। লেখা চালিয়ে যেতে, write() আবার কল করুন।

প্যারামিটার
BidirectionalStream stream

যে স্ট্রিমে লেখাটি সম্পন্ন হয়েছিল

UrlResponseInfo info

প্রতিক্রিয়া তথ্য

ByteBuffer buffer

যে বাফারটি write() ফাংশনে পাঠানো হয়েছিল। বাফারটির অবস্থান তার লিমিটে সেট করা হয়। বাফারটির লিমিট পরিবর্তন করা হয় না।

boolean endOfStream

সংশ্লিষ্ট write() ফাংশনে পাস করা endOfStream ফ্ল্যাগ। যদি এটি true হয়, তাহলে রাইট সাইডটি বন্ধ হয়ে যায়।