aboutsummaryrefslogtreecommitdiff
path: root/libjava/gnu
diff options
context:
space:
mode:
authorKeith Seitz <keiths@redhat.com>2005-06-30 18:00:25 +0000
committerKeith Seitz <keiths@redhat.com>2005-06-30 18:00:25 +0000
commitf7c4c338b477b271c00e924ee29279785efcf60b (patch)
treeeea43e71eefaa41c70dbdc2557e895d0a31b2f2d /libjava/gnu
parentf914582f93cb13da27cf5bb234995362602cf707 (diff)
* gnu/classpath/jdwp/transport/JdwpConnection.java (sendEvent): New
method. (_bytes): New member. (_doStream): New member. (JdwpConnection): Initialize new members. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@101471 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/gnu')
-rw-r--r--libjava/gnu/classpath/jdwp/transport/JdwpConnection.java38
1 files changed, 36 insertions, 2 deletions
diff --git a/libjava/gnu/classpath/jdwp/transport/JdwpConnection.java b/libjava/gnu/classpath/jdwp/transport/JdwpConnection.java
index 5ddf86c863a..ffc8a176738 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 <code>JdwpConnection</code> 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 <code>JdwpPacket</code> 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 ()