ChunkHandler
public
abstract
class
ChunkHandler
extends JdwpInterceptor
| java.lang.Object | ||
| ↳ | com.android.tradefed.device.server.jdwp.JdwpInterceptor | |
| ↳ | 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)
خصِّص ByteBuffer بمساحة كافية لاحتواء عنوان حزمة 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)
تحويل سلسلة من 4 أحرف إلى نوع 32 بت |
الطُرق المحمية | |
|---|---|
void
|
handleUnknownChunk(ClientImpl client, int type, ByteBuffer data, boolean isReply, int msgId)
لم يتم التعرّف على أجزاء الاسم المعرّف من قِبل المعالِجات. |
الثوابت
CHUNK_HEADER_LEN
public static final int CHUNK_HEADER_LEN
Constant Value: 8 (0x00000008)
DDMS_CMD
public static final int DDMS_CMD
القيمة الثابتة: 1 (0x00000001)
DDMS_CMD_SET
public static final int DDMS_CMD_SET
القيمة الثابتة: 199 (0x000000c7)
الحقول
CHUNK_FAIL
public static final int CHUNK_FAIL
CHUNK_ORDER
public static final ByteOrder CHUNK_ORDER
الإنشاءات العامة
ChunkHandler
public ChunkHandler ()
الطُرق العامة
allocBuffer
public static ByteBuffer allocBuffer (int maxChunkLen)
خصِّص ByteBuffer بمساحة كافية لاحتواء عنوان حزمة JDWP وعنوان جزء واحد بالإضافة إلى متطلبات الجزء الذي يتم إنشاؤه.
تشير السمة "maxChunkLen" إلى حجم محتوى الجزء فقط.
| المعلمات | |
|---|---|
maxChunkLen |
int |
| المرتجعات | |
|---|---|
ByteBuffer |
|
clientDisconnected
public abstract void clientDisconnected (ClientImpl client)
تم إغلاق التطبيق. يمكن استخدامها لتنظيف أي موارد مرتبطة باتصال العميل هذا.
| المعلمات | |
|---|---|
client |
ClientImpl |
clientReady
public abstract void clientReady (ClientImpl client)
العميل جاهز. تستدعي سلسلة التعليمات البرمجية الخاصة بالمراقبة هذه الطريقة في جميع المعالِجات عندما يتم تحديد أنّ العميل متوافق مع DDM (عادةً بعد تلقّي رد HELO).
يمكن أن يستفيد المعالج من هذه الفرصة لإعداد النشاط من جهة العميل. بما أنّه من المحتمل أن نريد إرسال رسالة إلى العميل، يمكن أن تؤدي هذه الطريقة إلى ظهور IOException.
| المعلمات | |
|---|---|
client |
ClientImpl |
finishChunkPacket
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 |
|
handleChunk
public abstract void handleChunk (ClientImpl client, int type, ByteBuffer data, boolean isReply, int msgId)
التعامل مع جزء وارد تبدأ البيانات، من نوع الجزء "type"، في بداية "data" وتستمر حتى data.limit().
في حال ضبط "isReply"، سيكون "msgId" هو معرّف الطلب الذي أرسلناه إلى العميل. بخلاف ذلك، يكون المعرّف الذي أنشأه العميل لهذا الحدث. يُرجى العِلم أنّه من المحتمل تلقّي أجزاء في حِزم الردود لم يتم تسجيلنا فيها.
لا يجوز للمعالج تعديل محتوى "البيانات".
| المعلمات | |
|---|---|
client |
ClientImpl |
type |
int |
data |
ByteBuffer |
isReply |
boolean |
msgId |
int |
handlePacket
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)
تحويل سلسلة من 4 أحرف إلى نوع 32 بت
| المعلمات | |
|---|---|
typeName |
String |
| المرتجعات | |
|---|---|
int |
|
الطُرق المحمية
handleUnknownChunk
protected void handleUnknownChunk (ClientImpl client, int type, ByteBuffer data, boolean isReply, int msgId)
لم يتم التعرّف على أجزاء الاسم المعرّف من قِبل المعالِجات. يجب أن تستدعي طريقة handleChunk() في الفئات الفرعية هذه الطريقة إذا لم يتم التعرّف على نوع الجزء.
| المعلمات | |
|---|---|
client |
ClientImpl |
type |
int |
data |
ByteBuffer |
isReply |
boolean |
msgId |
int |