com.sun.jini.fiddler
Class FiddlerImpl.SendEventTask

java.lang.Object
  extended by com.sun.jini.fiddler.FiddlerImpl.SendEventTask
All Implemented Interfaces:
TaskManager.Task, Runnable
Enclosing class:
FiddlerImpl

private final class FiddlerImpl.SendEventTask
extends Object
implements TaskManager.Task

This class represents a Task object that is placed in the TaskManager queue for processing in the thread pool. Instances of this class are placed on the task queue when a remote event is to be sent to a given registration.

Remote events are sent in a separate task such as this to avoid making the remote call to the registration's listener within a synchronization block.


Field Summary
 RemoteDiscoveryEvent event
          The remote event to send to the given registration's listener
 FiddlerImpl.RegistrationInfo regInfo
          Data structure record corresponding to registration to get event
 
Constructor Summary
FiddlerImpl.SendEventTask(FiddlerImpl.RegistrationInfo regInfo, RemoteDiscoveryEvent event)
          Constructs an instance of this class and stores the registration information.
 
Method Summary
 void run()
          This method sends a RemoteDiscoveryEvent to the listener of the registration that corresponds to the regInfo field of this class.
 boolean runAfter(List tasks, int size)
          This method returns true if the current instance of this class must be run after at least one task in the input task list with an index less than the size parameter (size may be less than tasks.size()).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

regInfo

public final FiddlerImpl.RegistrationInfo regInfo
Data structure record corresponding to registration to get event


event

public final RemoteDiscoveryEvent event
The remote event to send to the given registration's listener

Constructor Detail

FiddlerImpl.SendEventTask

public FiddlerImpl.SendEventTask(FiddlerImpl.RegistrationInfo regInfo,
                                 RemoteDiscoveryEvent event)
Constructs an instance of this class and stores the registration information.

Method Detail

run

public void run()
This method sends a RemoteDiscoveryEvent to the listener of the registration that corresponds to the regInfo field of this class. This method handles all exceptions and error conditions in the appropriate manner.

Specified by:
run in interface Runnable

runAfter

public boolean runAfter(List tasks,
                        int size)
This method returns true if the current instance of this class must be run after at least one task in the input task list with an index less than the size parameter (size may be less than tasks.size()).

Note that using List.get will be more efficient than List.iterator.

Specified by:
runAfter in interface TaskManager.Task
Parameters:
tasks - the tasks to consider. A read-only List, with all elements being an instanceof Task.
size - elements with index less than size should be considered


Copyright 2007-2010, multiple authors.
Licensed under the Apache License, Version 2.0, see the NOTICE file for attributions.