চাঙ্কহ্যান্ডলার

public abstract class ChunkHandler
extends JdwpInterceptor

java.lang.অবজেক্ট
com.android.tradefed.device.server.jdwp.Jdwp ইন্টারসেপ্টর
com.android.tradefed.device.server.jdwp.chunkhandler.ChunkHandler


এটিকে এমন একটি ক্লাস দিয়ে সাবক্লাস করুন যা এক বা একাধিক চাঙ্ক টাইপ পরিচালনা করে।

সারাংশ

ধ্রুবক

int CHUNK_HEADER_LEN

int DDMS_CMD

int DDMS_CMD_SET

ক্ষেত্র

public static final int CHUNK_FAIL

public static final ByteOrder CHUNK_ORDER

পাবলিক কনস্ট্রাক্টর

ChunkHandler ()

পাবলিক পদ্ধতি

static ByteBuffer allocBuffer (int maxChunkLen)

তৈরি করা চাঙ্কের চাহিদা ছাড়াও JDWP প্যাকেট হেডার এবং একটি চাঙ্ক হেডার রাখার জন্য পর্যাপ্ত জায়গা সহ একটি বাইটবাফার বরাদ্দ করুন।

abstract void clientDisconnected ( ClientImpl client)

ক্লায়েন্ট চলে গেছে।

abstract void clientReady ( ClientImpl client)

ক্লায়েন্ট প্রস্তুত।

static void finishChunkPacket ( JdwpPacket packet, int type, int chunkLen)

চাঙ্কের শুরুতে চাঙ্ক হেডার লিখুন।

static ByteBuffer getChunkDataBuf (ByteBuffer jdwpBuf)

JDWP প্যাকেট বাফারের স্লাইসটি ফেরত দিন যেখানে কেবল চাঙ্ক ডেটা থাকে।

abstract void handleChunk ( ClientImpl client, int type, ByteBuffer data, boolean isReply, int msgId)

একটি আগত অংশ পরিচালনা করুন।

void handlePacket ( ClientImpl client, JdwpPacket packet)
JdwpPacket intercept ( JdwpAgent agent, JdwpPacket packet)
static int type (String typeName)

৪-অক্ষরের স্ট্রিংকে ৩২-বিট টাইপে রূপান্তর করুন।

সুরক্ষিত পদ্ধতি

void handleUnknownChunk ( ClientImpl client, int type, ByteBuffer data, boolean isReply, int msgId)

হ্যান্ডেলের অংশগুলি হ্যান্ডলারদের দ্বারা স্বীকৃত নয়।

ধ্রুবক

চাঙ্ক_হেডার_লেন

public static final int CHUNK_HEADER_LEN

ধ্রুবক মান: ৮ (০x০০০০০০০৮)

ডিডিএমএস_সিএমডি

public static final int DDMS_CMD

ধ্রুবক মান: ১ (০x০০০০০০০১)

ডিডিএমএস_সিএমডি_এসইটি

public static final int DDMS_CMD_SET

ধ্রুবক মান: ১৯৯ (০x০০০০০০০c৭)

ক্ষেত্র

খণ্ড ব্যর্থ

public static final int CHUNK_FAIL

CHUNK_ORDER সম্পর্কে

public static final ByteOrder CHUNK_ORDER

পাবলিক কনস্ট্রাক্টর

চাঙ্কহ্যান্ডলার

public ChunkHandler ()

পাবলিক পদ্ধতি

allocBuffer সম্পর্কে

public static ByteBuffer allocBuffer (int maxChunkLen)

তৈরি করা চাঙ্কের চাহিদা ছাড়াও JDWP প্যাকেট হেডার এবং একটি চাঙ্ক হেডার রাখার জন্য পর্যাপ্ত জায়গা সহ একটি বাইটবাফার বরাদ্দ করুন।

"maxChunkLen" শুধুমাত্র চাঙ্কের সামগ্রীর আকার নির্দেশ করে।

পরামিতি
maxChunkLen int

রিটার্নস
ByteBuffer

ক্লায়েন্ট সংযোগ বিচ্ছিন্ন

public abstract void clientDisconnected (ClientImpl client)

ক্লায়েন্ট চলে গেছে। এই ক্লায়েন্ট সংযোগের সাথে সম্পর্কিত যেকোনো রিসোর্স পরিষ্কার করতে ব্যবহার করা যেতে পারে।

পরামিতি
client ClientImpl

ক্লায়েন্টরেডি

public abstract void clientReady (ClientImpl client)

ক্লায়েন্ট প্রস্তুত। ক্লায়েন্ট যখন DDM-সচেতন বলে নির্ধারিত হয় (সাধারণত HELO প্রতিক্রিয়া পাওয়ার পরে) তখন মনিটর থ্রেড সমস্ত হ্যান্ডলারে এই পদ্ধতিটি কল করে।

হ্যান্ডলার এই সুযোগটি ব্যবহার করে ক্লায়েন্ট-সাইড অ্যাক্টিভিটি শুরু করতে পারে। যেহেতু ক্লায়েন্টকে একটি বার্তা পাঠানোর যথেষ্ট সম্ভাবনা রয়েছে, এই পদ্ধতিটি একটি IOException তৈরি করতে পারে।

পরামিতি
client ClientImpl

শেষ করুন চাঙ্কপ্যাকেট

public static void finishChunkPacket (JdwpPacket packet, 
                int type, 
                int chunkLen)

চাঙ্কের শুরুতে চাঙ্ক হেডার লিখুন।

JdwpPacket.getPayload() দ্বারা ফেরত বাইট বাফারটি পাস করুন।

পরামিতি
packet JdwpPacket

type int

chunkLen int

getChunkDataBuf সম্পর্কে

public static ByteBuffer getChunkDataBuf (ByteBuffer jdwpBuf)

JDWP প্যাকেট বাফারের স্লাইসটি ফেরত দিন যেখানে কেবল চাঙ্ক ডেটা থাকে।

পরামিতি
jdwpBuf ByteBuffer

রিটার্নস
ByteBuffer

হ্যান্ডেলচাঙ্ক

public abstract void handleChunk (ClientImpl client, 
                int type, 
                ByteBuffer data, 
                boolean isReply, 
                int msgId)

একটি ইনকামিং চাঙ্ক হ্যান্ডেল করুন। চাঙ্ক টাইপ "টাইপ" এর ডেটা, "ডেটা" এর শুরুতে শুরু হয় এবং data.limit() পর্যন্ত চলতে থাকে।

যদি "isReply" সেট করা থাকে, তাহলে "msgId" হবে ক্লায়েন্টের কাছে পাঠানো অনুরোধের আইডি। অন্যথায়, এটি এই ইভেন্টের জন্য ক্লায়েন্ট দ্বারা তৈরি আইডি। মনে রাখবেন যে আমরা যে উত্তর প্যাকেটগুলির জন্য নিবন্ধিত নই সেগুলিতে অংশগুলি পাওয়া সম্ভব।

হ্যান্ডলার "ডেটা" এর বিষয়বস্তু পরিবর্তন করতে পারবে না।

পরামিতি
client ClientImpl

type int

data ByteBuffer

isReply boolean

msgId int

হ্যান্ডেলপ্যাকেট

public void handlePacket (ClientImpl client, 
                JdwpPacket packet)

পরামিতি
client ClientImpl

packet JdwpPacket

বাধা দেওয়া

public JdwpPacket intercept (JdwpAgent agent, 
                JdwpPacket packet)

পরামিতি
agent JdwpAgent

packet JdwpPacket

রিটার্নস
JdwpPacket

টাইপ করুন

public static int type (String typeName)

৪-অক্ষরের স্ট্রিংকে ৩২-বিট টাইপে রূপান্তর করুন।

পরামিতি
typeName String

রিটার্নস
int

সুরক্ষিত পদ্ধতি

হ্যান্ডেলঅজ্ঞাতচাঙ্ক

protected void handleUnknownChunk (ClientImpl client, 
                int type, 
                ByteBuffer data, 
                boolean isReply, 
                int msgId)

হ্যান্ডেল খণ্ডগুলি হ্যান্ডলারদের দ্বারা স্বীকৃত নয়। সাব-ক্লাসে handleChunk() পদ্ধতিটি যদি চাঙ্কের ধরণটি স্বীকৃত না হয় তবে এটিকে কল করা উচিত।

পরামিতি
client ClientImpl

type int

data ByteBuffer

isReply boolean

msgId int