* Performs a VM request.
*
* @return Returns reply data.
*/
public JdwpReplyPacket requestVM(int command, byte[] outData) {
JdwpCommandPacket commandPacket = new JdwpCommandPacket(command);
commandPacket.setData(outData);
long sent = System.currentTimeMillis();
fVirtualMachineImpl.packetSendManager().sendPacket(commandPacket);
fPendingJdwpRequest = true;
writeVerboseCommandPacketHeader(commandPacket);
JdwpReplyPacket reply = fVirtualMachineImpl.packetReceiveManager()
.getReply(commandPacket);
long recieved = System.currentTimeMillis();
if (JDIDebugOptions.DEBUG_JDI_REQUEST_TIMES) {
StringBuffer buf = new StringBuffer();
buf.append(JDIDebugOptions.FORMAT.format(new Date(sent)));
buf.append(" JDI Request: "); //$NON-NLS-1$
buf.append(commandPacket.toString());
buf.append("\n\tResponse Time: "); //$NON-NLS-1$
buf.append(recieved - sent);
buf.append("ms"); //$NON-NLS-1$
buf.append(" length: "); //$NON-NLS-1$
buf.append(reply.getLength());