org.eclipse.emf.mwe.internal.core.debug.communication
Class PackageReceiver

java.lang.Object
  extended by org.eclipse.emf.mwe.internal.core.debug.communication.PackageReceiver
All Implemented Interfaces:
java.lang.Runnable

public class PackageReceiver
extends java.lang.Object
implements java.lang.Runnable

This Runnable listens for incoming packages asynchroniously and keeps them, until they are required by customers.


Method Summary
 AbstractPackage getPackage(java.lang.Class<? extends AbstractPackage> type, int refId, long timeToWait)
          Get a packet of the requested type with a specific id, wait the specified time until it arrives, if time is negative, wait until socket will be closed
 AbstractPackage getPackage(java.lang.Class<? extends AbstractPackage> type, long timeToWait)
          Get a packet of the requested type, wait the specified time until it arrives, if time is negative, wait until socket will be closed
static PackageReceiver newPackageReceiver(Connection connection)
          create a new instance and starts the runnable in a new thread
 void run()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

newPackageReceiver

public static PackageReceiver newPackageReceiver(Connection connection)
create a new instance and starts the runnable in a new thread

Parameters:
connection - the Connection that controls this data receiver.
Returns:
the instance

getPackage

public AbstractPackage getPackage(java.lang.Class<? extends AbstractPackage> type,
                                  long timeToWait)
                           throws java.io.InterruptedIOException
Get a packet of the requested type, wait the specified time until it arrives, if time is negative, wait until socket will be closed

Parameters:
type - the packet type
timeToWait - until timeout
Returns:
the received packet
Throws:
java.io.InterruptedIOException

getPackage

public AbstractPackage getPackage(java.lang.Class<? extends AbstractPackage> type,
                                  int refId,
                                  long timeToWait)
                           throws java.io.InterruptedIOException
Get a packet of the requested type with a specific id, wait the specified time until it arrives, if time is negative, wait until socket will be closed

Parameters:
type - the packet type
refId - the id the receiving packet must have
timeToWait - until timeout
Returns:
the received packet
Throws:
java.io.InterruptedIOException
java.io.InterruptedIOException

run

public void run()
Specified by:
run in interface java.lang.Runnable