GridSim 5.0 beta

gridsim.filter
Class FilterGridlet

Object
  extended by Sim_predicate
      extended by FilterGridlet

public class FilterGridlet
extends Sim_predicate

Look for a specific incoming event that carries a Gridlet object.

This class is used by Sim_system to select or filter an event already present in the entity's deferred queue (incoming buffer), or used to selectively wait for a future event.

An example on how to use this class:
Imagine we have a scenario where Entity_A sends one or more events to Entity_B with different tag names and data objects.
Entity_B wants to get an event that contains a specific Gridlet object in this example.
Therefore, inside the Entity_B code:

   ... // other code

   int gridletID = 1; // e.g. only look for Gridlet #1
   Sim_event ev = new Sim_event();
   FilterGridlet filter = new FilterGridlet(gridletID);

   // get an incoming event that matches a given gridlet id
   super.sim_get_next(filter, ev);

   // get the matching event data
   Gridlet gl = (Gridlet) ev.get_data();


NOTE:

Since:
GridSim Toolkit 3.2
Author:
Anthony Sulistio
Invariant:
$none

Constructor Summary
FilterGridlet(int gridletID)
          Finds a Gridlet in the incoming buffer of an entity that matches with a given gridlet id.
FilterGridlet(int gridletID, int resID)
          Finds a Gridlet in the incoming buffer of an entity that matches with the given two constraints: gridlet id and resource id.
FilterGridlet(int gridletID, int userID, int resID)
          Finds a Gridlet in the incoming buffer of an entity that matches with the given three constraints: gridlet id, user id and resource id.
 
Method Summary
 boolean match(Sim_event ev)
          Checks whether an event matches the required constraints or not.
NOTE: This method is not used directly by the user.
 boolean setTag(int tag)
          Sets the event matching tag name
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FilterGridlet

public FilterGridlet(int gridletID,
                     int userID,
                     int resID)
Finds a Gridlet in the incoming buffer of an entity that matches with the given three constraints: gridlet id, user id and resource id.

Parameters:
gridletID - a gridlet id
userID - a user id that owns this Gridlet object
resID - a resource id that executes this Gridlet object
Pre Condition:
$none
Post Condition:
$none

FilterGridlet

public FilterGridlet(int gridletID,
                     int resID)
Finds a Gridlet in the incoming buffer of an entity that matches with the given two constraints: gridlet id and resource id.

Parameters:
gridletID - a gridlet id
resID - a resource id that executes this Gridlet object
Pre Condition:
$none
Post Condition:
$none

FilterGridlet

public FilterGridlet(int gridletID)
Finds a Gridlet in the incoming buffer of an entity that matches with a given gridlet id.

Parameters:
gridletID -
Pre Condition:
$none
Post Condition:
$none
Method Detail

setTag

public boolean setTag(int tag)
Sets the event matching tag name

Parameters:
tag - a matching event tag name (must be 0 or a positive integer)
Returns:
true if it is successful, false otherwise.
Pre Condition:
$none
Post Condition:
$none

match

public boolean match(Sim_event ev)
Checks whether an event matches the required constraints or not.
NOTE: This method is not used directly by the user. Instead, it is called by Sim_system.

Specified by:
match in class Sim_predicate
Parameters:
ev - an incoming event to compare with
Returns:
true if an event matches, false otherwise
Pre Condition:
ev != null
Post Condition:
$none

GridSim 5.0 beta

The University of Melbourne, Australia, 2009