From: Keith Seitz Date: Thu, 30 Jun 2005 18:00:25 +0000 (+0000) Subject: JdwpConnection.java (sendEvent): New method. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1b0618bfe6193985baadba89c5eedfbb7730eda3;p=platform%2Fupstream%2Fgcc.git JdwpConnection.java (sendEvent): New method. * gnu/classpath/jdwp/transport/JdwpConnection.java (sendEvent): New method. (_bytes): New member. (_doStream): New member. (JdwpConnection): Initialize new members. From-SVN: r101471 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 4a3f746..29dcb15 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,11 @@ +2005-06-30 Keith Seitz + + * gnu/classpath/jdwp/transport/JdwpConnection.java (sendEvent): New + method. + (_bytes): New member. + (_doStream): New member. + (JdwpConnection): Initialize new members. + 2005-06-29 Kelley Cook * all files: Update for new FSF address. diff --git a/libjava/gnu/classpath/jdwp/transport/JdwpConnection.java b/libjava/gnu/classpath/jdwp/transport/JdwpConnection.java index 5ddf86c..ffc8a17 100644 --- a/libjava/gnu/classpath/jdwp/transport/JdwpConnection.java +++ b/libjava/gnu/classpath/jdwp/transport/JdwpConnection.java @@ -40,7 +40,10 @@ exception statement from your version. */ package gnu.classpath.jdwp.transport; import gnu.classpath.jdwp.Jdwp; +import gnu.classpath.jdwp.event.Event; +import gnu.classpath.jdwp.event.EventRequest; +import java.io.ByteArrayOutputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; @@ -64,7 +67,8 @@ public class JdwpConnection extends Thread { // The JDWP handshake - private static final byte[] _HANDSHAKE = {'J', 'D', 'W', 'P', '-', 'H', 'a', 'n', 'd', 's', 'h', 'a', 'k', 'e'}; + private static final byte[] _HANDSHAKE = {'J', 'D', 'W', 'P', '-', 'H', 'a', + 'n', 'd', 's', 'h', 'a', 'k', 'e'}; // Transport method private ITransport _transport; @@ -81,6 +85,12 @@ public class JdwpConnection // Output stream from transprot private DataOutputStream _outStream; + // A buffer used to construct the packet data + private ByteArrayOutputStream _bytes; + + // A DataOutputStream for the byte buffer + private DataOutputStream _doStream; + /** * Creates a new JdwpConnection instance * @@ -91,6 +101,8 @@ public class JdwpConnection _transport = transport; _commandQueue = new ArrayList (); _shutdown = false; + _bytes = new ByteArrayOutputStream (); + _doStream = new DataOutputStream (_bytes); } /** @@ -241,7 +253,7 @@ public class JdwpConnection * Send a packet to the debugger * * @param pkt a JdwpPacket to send - * @throws TransportException + * @throws IOException */ public void sendPacket (JdwpPacket pkt) throws IOException @@ -251,6 +263,28 @@ public class JdwpConnection } /** + * Send an event notification to the debugger + * + * @param request the debugger request that wanted this event + * @param event the event + * @throws IOException + */ + public void sendEvent (EventRequest request, Event event) + throws IOException + { + JdwpPacket pkt; + + synchronized (_bytes) + { + _bytes.reset (); + pkt = event.toPacket (_doStream, request); + pkt.setData (_bytes.toByteArray ()); + } + + sendPacket (pkt); + } + + /** * Shutdown the connection */ public void shutdown ()