HandleHeap

public final class HandleHeap
extends ChunkHandler

java.lang.Object
   ↳ com.android.tradefed.device.server.jdwp.JdwpInterceptor
     ↳ com.android.tradefed.device.server.jdwp.chunkhandler.ChunkHandler
       ↳ com.android.tradefed.device.server.jdwp.chunkhandler.HandleHeap


Controla las actualizaciones de estado del montón.

Resumen

Constantes

int HPIF_WHEN_EVERY_GC

int HPIF_WHEN_NEVER

int HPIF_WHEN_NEXT_GC

int HPIF_WHEN_NOW

int WHAT_MERGE

int WHAT_OBJ

int WHEN_DISABLE

int WHEN_GC

Campos

public static final int CHUNK_HPDS

public static final int CHUNK_HPDU

public static final int CHUNK_HPEN

public static final int CHUNK_HPGC

public static final int CHUNK_HPIF

public static final int CHUNK_HPSG

public static final int CHUNK_HPST

public static final int CHUNK_REAE

public static final int CHUNK_REAL

public static final int CHUNK_REAQ

Métodos públicos

void clientDisconnected(ClientImpl client)

El cliente se fue.

void clientReady(ClientImpl client)

El cliente está listo.

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

Es el punto de entrada del controlador de fragmentos.

static void register(MonitorThread mt)

Registra los paquetes que esperamos recibir del cliente.

static void sendHPDS(ClientImpl client)

Envía una solicitud de HPDS al cliente.

static void sendHPDU(ClientImpl client, String fileName)

Envía una solicitud de HPDU al cliente.

static void sendHPGC(ClientImpl client)

Envía una solicitud de HPGC al cliente.

static void sendHPIF(ClientImpl client, int when)

Envía una solicitud de HPIF (HeaP InFo) al cliente.

static void sendHPSG(ClientImpl client, int when, int what)

Envía una solicitud de HPSG (segmento de Heap) al cliente.

static void sendREAE(ClientImpl client, boolean enable)

Envía una solicitud de REAE (REcent Allocation Enable) al cliente.

static void sendREAL(ClientImpl client)

Envía una solicitud de REAL (asignación reciente) al cliente.

static void sendREAQ(ClientImpl client)

Envía una solicitud de REAQ (consulta de asignación reciente) al cliente.

Constantes

HPIF_WHEN_EVERY_GC

public static final int HPIF_WHEN_EVERY_GC

Valor constante: 3 (0x00000003)

HPIF_WHEN_NEVER

public static final int HPIF_WHEN_NEVER

Valor constante: 0 (0x00000000)

HPIF_WHEN_NEXT_GC

public static final int HPIF_WHEN_NEXT_GC

Valor constante: 2 (0x00000002)

HPIF_WHEN_NOW

public static final int HPIF_WHEN_NOW

Valor constante: 1 (0x00000001)

WHAT_MERGE

public static final int WHAT_MERGE

Valor constante: 0 (0x00000000)

WHAT_OBJ

public static final int WHAT_OBJ

Valor constante: 1 (0x00000001)

WHEN_DISABLE

public static final int WHEN_DISABLE

Valor constante: 0 (0x00000000)

WHEN_GC

public static final int WHEN_GC

Valor constante: 1 (0x00000001)

Campos

CHUNK_HPDS

public static final int CHUNK_HPDS

CHUNK_HPDU

public static final int CHUNK_HPDU

CHUNK_HPEN

public static final int CHUNK_HPEN

CHUNK_HPGC

public static final int CHUNK_HPGC

CHUNK_HPIF

public static final int CHUNK_HPIF

CHUNK_HPSG

public static final int CHUNK_HPSG

CHUNK_HPST

public static final int CHUNK_HPST

CHUNK_REAE

public static final int CHUNK_REAE

CHUNK_REAL

public static final int CHUNK_REAL

CHUNK_REAQ

public static final int CHUNK_REAQ

Métodos públicos

clientDisconnected

public void clientDisconnected (ClientImpl client)

El cliente se fue.

Parámetros
client ClientImpl

clientReady

public void clientReady (ClientImpl client)

El cliente está listo.

Parámetros
client ClientImpl

handleChunk

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

Es el punto de entrada del controlador de fragmentos.

Parámetros
client ClientImpl

type int

data ByteBuffer

isReply boolean

msgId int

registrar

public static void register (MonitorThread mt)

Registra los paquetes que esperamos recibir del cliente.

Parámetros
mt MonitorThread

sendHPDS

public static void sendHPDS (ClientImpl client)

Envía una solicitud de HPDS al cliente.

Recibiremos una respuesta del HPDS cuando se complete el volcado de montón. Si falla, obtenemos una respuesta de falla genérica.

Esto es más costoso para el dispositivo que HPDU, ya que todo el volcado del montón se mantiene en la RAM en lugar de almacenarse en un archivo temporal. Por otro lado, no se requiere permiso para escribir en /sdcard.

Parámetros
client ClientImpl

sendHPDU

public static void sendHPDU (ClientImpl client, 
                String fileName)

Envía una solicitud de HPDU al cliente.

Recibiremos una respuesta de HPDU cuando se complete el volcado de montón. Si falla, obtenemos una respuesta de falla genérica.

Parámetros
client ClientImpl

fileName String: Nombre del archivo de salida (en el dispositivo)

sendHPGC

public static void sendHPGC (ClientImpl client)

Envía una solicitud de HPGC al cliente.

Parámetros
client ClientImpl

sendHPIF

public static void sendHPIF (ClientImpl client, 
                int when)

Envía una solicitud de HPIF (HeaP InFo) al cliente.

Parámetros
client ClientImpl

when int

sendHPSG

public static void sendHPSG (ClientImpl client, 
                int when, 
                int what)

Envía una solicitud de HPSG (segmento de Heap) al cliente.

Parámetros
client ClientImpl

when int

what int

sendREAE

public static void sendREAE (ClientImpl client, 
                boolean enable)

Envía una solicitud de REAE (REcent Allocation Enable) al cliente.

Parámetros
client ClientImpl

enable boolean

sendREAL

public static void sendREAL (ClientImpl client)

Envía una solicitud de REAL (asignación reciente) al cliente.

Parámetros
client ClientImpl

sendREAQ

public static void sendREAQ (ClientImpl client)

Envía una solicitud de REAQ (consulta de asignación reciente) al cliente.

Parámetros
client ClientImpl