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 | |
Bunu, bir veya daha fazla parça türünü işleyen bir sınıfla alt sınıfa ayırın.
Özet
Sabitler | |
|---|---|
int |
CHUNK_HEADER_LEN
|
int |
DDMS_CMD
|
int |
DDMS_CMD_SET
|
Fields'ın oynadığı filmler | |
|---|---|
public
static
final
int |
CHUNK_FAIL
|
public
static
final
ByteOrder |
CHUNK_ORDER
|
Herkese açık oluşturucular | |
|---|---|
ChunkHandler()
|
|
Herkese açık yöntemler | |
|---|---|
static
ByteBuffer
|
allocBuffer(int maxChunkLen)
Oluşturulan parçanın gereksinimlerine ek olarak JDWP paketi üstbilgisini ve bir parça üstbilgisini tutacak kadar alan içeren bir ByteBuffer ayırın. |
abstract
void
|
clientDisconnected(ClientImpl client)
İstemci ayrıldı. |
abstract
void
|
clientReady(ClientImpl client)
İstemci hazır. |
static
void
|
finishChunkPacket(JdwpPacket packet, int type, int chunkLen)
Parça başlığını parçanın başında yazın. |
static
ByteBuffer
|
getChunkDataBuf(ByteBuffer jdwpBuf)
Yalnızca parça verilerini içeren JDWP paketi arabelleğinin dilimini döndürür. |
abstract
void
|
handleChunk(ClientImpl client, int type, ByteBuffer data, boolean isReply, int msgId)
Gelen bir parçayı işleyin. |
void
|
handlePacket(ClientImpl client, JdwpPacket packet)
|
JdwpPacket
|
intercept(JdwpAgent agent, JdwpPacket packet)
|
static
int
|
type(String typeName)
4 karakterlik bir dizeyi 32 bit türüne dönüştürür. |
Korunan yöntemler | |
|---|---|
void
|
handleUnknownChunk(ClientImpl client, int type, ByteBuffer data, boolean isReply, int msgId)
İşleyiciler, işleme birimlerini tanımaz. |
Sabitler
CHUNK_HEADER_LEN
public static final int CHUNK_HEADER_LEN
Sabit Değer: 8 (0x00000008)
DDMS_CMD
public static final int DDMS_CMD
Sabit Değer: 1 (0x00000001)
DDMS_CMD_SET
public static final int DDMS_CMD_SET
Sabit Değer: 199 (0x000000c7)
Fields'ın oynadığı filmler
CHUNK_FAIL
public static final int CHUNK_FAIL
CHUNK_ORDER
public static final ByteOrder CHUNK_ORDER
Herkese açık oluşturucular
ChunkHandler
public ChunkHandler ()
Herkese açık yöntemler
allocBuffer
public static ByteBuffer allocBuffer (int maxChunkLen)
Oluşturulan parçanın gereksinimlerine ek olarak JDWP paketi üstbilgisini ve bir parça üstbilgisini tutacak kadar alan içeren bir ByteBuffer ayırın.
"maxChunkLen" yalnızca parça içeriklerinin boyutunu gösterir.
| Parametreler | |
|---|---|
maxChunkLen |
int |
| İlerlemeler | |
|---|---|
ByteBuffer |
|
clientDisconnected
public abstract void clientDisconnected (ClientImpl client)
İstemci ayrıldı. Bu istemci bağlantısıyla ilişkili tüm kaynakları temizlemek için kullanılabilir.
| Parametreler | |
|---|---|
client |
ClientImpl |
clientReady
public abstract void clientReady (ClientImpl client)
İstemci hazır. İstemcinin DDM'ye duyarlı olduğu belirlendiğinde (genellikle bir HELO yanıtı alındıktan sonra) izleme iş parçacığı bu yöntemi tüm işleyicilerde çağırır.
İşleyici, bu fırsatı istemci tarafı etkinliğini başlatmak için kullanabilir. İstemciye mesaj göndermek isteyeceğimiz için bu yöntem IOException oluşturabilir.
| Parametreler | |
|---|---|
client |
ClientImpl |
finishChunkPacket
public static void finishChunkPacket (JdwpPacket packet, int type, int chunkLen)
Parça başlığını parçanın başında yazın.
JdwpPacket.getPayload() tarafından döndürülen bayt arabelleğini iletin.
| Parametreler | |
|---|---|
packet |
JdwpPacket |
type |
int |
chunkLen |
int |
getChunkDataBuf
public static ByteBuffer getChunkDataBuf (ByteBuffer jdwpBuf)
Yalnızca parça verilerini içeren JDWP paketi arabelleğinin dilimini döndürür.
| Parametreler | |
|---|---|
jdwpBuf |
ByteBuffer |
| İlerlemeler | |
|---|---|
ByteBuffer |
|
handleChunk
public abstract void handleChunk (ClientImpl client, int type, ByteBuffer data, boolean isReply, int msgId)
Gelen bir parçayı işleyin. "type" türündeki veri parçası, "data"nın başlangıcında başlar ve data.limit()'e kadar devam eder.
"isReply" ayarlanırsa "msgId", istemciye gönderdiğimiz isteğin kimliği olur. Aksi takdirde, bu etkinlik için istemci tarafından oluşturulan kimliktir. Kayıtlı olmadığımız yanıt paketlerinde parçalar almanın mümkün olduğunu unutmayın.
İşleyici, "data" içeriğini değiştiremez.
| Parametreler | |
|---|---|
client |
ClientImpl |
type |
int |
data |
ByteBuffer |
isReply |
boolean |
msgId |
int |
handlePacket
public void handlePacket (ClientImpl client, JdwpPacket packet)
| Parametreler | |
|---|---|
client |
ClientImpl |
packet |
JdwpPacket |
kesim noktası
public JdwpPacket intercept (JdwpAgent agent, JdwpPacket packet)
| Parametreler | |
|---|---|
agent |
JdwpAgent |
packet |
JdwpPacket |
| İlerlemeler | |
|---|---|
JdwpPacket |
|
tür
public static int type (String typeName)
4 karakterlik bir dizeyi 32 bit türüne dönüştürür.
| Parametreler | |
|---|---|
typeName |
String |
| İlerlemeler | |
|---|---|
int |
|
Korunan yöntemler
handleUnknownChunk
protected void handleUnknownChunk (ClientImpl client, int type, ByteBuffer data, boolean isReply, int msgId)
İşleyiciler, işleme birimlerini tanımaz. Alt sınıflardaki handleChunk() yöntemi, parça türü tanınmıyorsa bunu çağırmalıdır.
| Parametreler | |
|---|---|
client |
ClientImpl |
type |
int |
data |
ByteBuffer |
isReply |
boolean |
msgId |
int |