চাঙ্কহ্যান্ডলার
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 |