00001
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 package gov.lanl.isr.sensix;
00036
00037 import java.util.*;
00038
00039
00040 public class TaskTracking
00041 {
00042 public SortedMap<Integer,TaskImpl> tree;
00043
00044 public TaskTracking() {
00045 tree =
00046 Collections.synchronizedSortedMap(new TreeMap<Integer,TaskImpl>());
00047 }
00048
00049
00050 public void add(TaskImpl t) {
00051 tree.put(t.f().sequencer(), t);
00052 }
00053
00054 public TaskImpl get(Functor f) {
00055 return tree.get(f.sequencer());
00056 }
00057
00058 public void remove(Functor f) {
00059 tree.remove(f.sequencer());
00060 }
00061
00062 public int num_peers(Functor f) {
00063 TaskImpl t = tree.get(f.sequencer());
00064 if (t == null)
00065 return 0;
00066 return t.numPeers();
00067 }
00068
00069 public void num_peers(Functor f, int p) {
00070 TaskImpl t = tree.get(f.sequencer());
00071 if (t != null)
00072 t.numPeers(p);
00073 }
00074
00075 public boolean cancelled(Functor f) {
00076 TaskImpl t = tree.get(f.sequencer());
00077 if (t == null)
00078 return true;
00079 return t.cancelled();
00080 }
00081
00082 public void cancelled(Functor f, boolean c) {
00083 TaskImpl t = tree.get(f.sequencer());
00084 if (t != null)
00085 t.cancelled(c);
00086 }
00087
00088 public void print() {
00089 Iterator itr = tree.entrySet().iterator();
00090 while (itr.hasNext()) {
00091 Map.Entry e = (Map.Entry)itr.next();
00092 System.err.println(e.getKey() + " : " + e.getValue());
00093 }
00094 }
00095 }