Java Debug Interface

com.sun.jdi.event
Interface EventQueue

All Superinterfaces:
Mirror

public interface EventQueue
extends Mirror

Manager of incoming debugger events for a target VM. Events are always grouped in EventSets. EventSets generated by the debugger back end can be read here. There is one instance of EventQueue assigned to a particular VirtualMachine.

Some events cause the suspension of the target VM - event requests (com.sun.jdi.request) with a suspend policy of SUSPEND_ALL or SUSPEND_EVENT_THREAD and sometimes VMStartEvent. If these suspensions are not resumed the target VM will hang. Thus, it is always good policy to remove() every EventSet from the event queue until an EventSet containing a VMDisconnectEvent is read. Unless resume is being handled in another way, each EventSet should invoke EventSet.resume().

Since:
1.3
See Also:
EventSet, VirtualMachine

Method Summary
 EventSet remove()
          Waits forever for the next available event.
 EventSet remove(long timeout)
          Waits a specified time for the next available event.
 
Methods inherited from interface com.sun.jdi.Mirror
toString, virtualMachine
 

Method Detail

remove

EventSet remove()
                throws InterruptedException
Waits forever for the next available event.

Returns:
the next EventSet.
Throws:
InterruptedException - if another thread has interrupted this thread.
VMDisconnectedException - if the connection to the target VM is no longer available. Note this will always be preceded by a VMDisconnectEvent.

remove

EventSet remove(long timeout)
                throws InterruptedException
Waits a specified time for the next available event.

Parameters:
timeout - Time in milliseconds to wait for the next event
Returns:
the next EventSet, or null if there is a timeout.
Throws:
InterruptedException - if another thread has interrupted this thread.
VMDisconnectedException - if the connection to the target VM is no longer available. Note this will always be preceded by a VMDisconnectEvent.
IllegalArgumentException - if the timeout argument contains an illegal value.

Java Debug Interface