ChunkHandler

public abstract class ChunkHandler
extends JdwpInterceptor

شیء جاوا
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)

تبدیل یک رشته ۴ کاراکتری به نوع ۳۲ بیتی

روش‌های محافظت‌شده

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

تکه‌هایی را که توسط کنترل‌کننده‌ها شناسایی نمی‌شوند، مدیریت کنید.

ثابت‌ها

CHUNK_HEADER_LEN

public static final int CHUNK_HEADER_LEN

مقدار ثابت: ۸ (۰x۰۰۰۰۰۰۸)

DDMS_CMD

public static final int DDMS_CMD

مقدار ثابت: ۱ (۰x۰۰۰۰۰۰۱)

DDMS_CMD_SET

public static final int DDMS_CMD_SET

مقدار ثابت: ۱۹۹ (۰x۰۰۰۰۰۰c۷)

فیلدها

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

کلاینت قطع ارتباط کرد

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

دریافت داده های دریافت شده

public static ByteBuffer getChunkDataBuf (ByteBuffer jdwpBuf)

تکه‌ای از بافر بسته JDWP را که فقط داده‌های تکه‌ای را در خود نگه می‌دارد، برمی‌گرداند.

پارامترها
jdwpBuf ByteBuffer

بازگشت‌ها
ByteBuffer

دسته دسته

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

بسته دسته

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

روش‌های محافظت‌شده

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