Index: JdwpConnection.java =================================================================== RCS file: /cvs/gcc/gcc/libjava/gnu/classpath/jdwp/transport/JdwpConnection.java,v retrieving revision 1.2 diff -u -p -r1.2 JdwpConnection.java --- JdwpConnection.java 30 Jun 2005 03:18:34 -0000 1.2 +++ JdwpConnection.java 30 Jun 2005 16:15:30 -0000 @@ -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 ()