X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Futil%2FTopologicalBag.java;h=28166fb561fd66d4a01db4506b8e2e95ddaf1d84;hp=eb71cdc6641ffd00520cacd38197fd2d09f9c957;hb=f069d11a0bc59d63b078df8a4aa488498c4e9cc2;hpb=d334d5060dbaa23f8f94b60cf1238c3f47cb5e9f diff --git a/src/edu/berkeley/sbp/util/TopologicalBag.java b/src/edu/berkeley/sbp/util/TopologicalBag.java index eb71cdc..28166fb 100644 --- a/src/edu/berkeley/sbp/util/TopologicalBag.java +++ b/src/edu/berkeley/sbp/util/TopologicalBag.java @@ -1,4 +1,4 @@ -// Copyright 2006 all rights reserved; see LICENSE file for BSD-style license +// Copyright 2006-2007 all rights reserved; see LICENSE file for BSD-style license package edu.berkeley.sbp.util; import edu.berkeley.sbp.util.*; @@ -14,7 +14,7 @@ import java.lang.ref.*; // /** a mapping from topologies over K to sets of values of type V */ -public class TopologicalBag implements MapBag,V>, VisitableMap { +public class TopologicalBag implements MapBag,V>, VisitableMap, Serializable { // CRUCIAL INVARIANT: keys in this hashmap MUST be disjoint or the universe will implode private final HashMap,HashSet> h = new HashMap,HashSet>(); @@ -103,11 +103,11 @@ public class TopologicalBag implements MapBag,V>, VisitableMap< private HashMap> cache = new HashMap>(); public Iterable getAll(Topology k) { return h.get(k); } - public void invoke(K k, Invokable ivbc, B b) { + public void invoke(K k, Invokable ivbc, B b, C c) { for(Topology t : h.keySet()) if (t.contains(k)) for(V v : h.get(t)) - ivbc.invoke(v, b); + ivbc.invoke(v, b, c); } public Iterable get(K k) { @@ -165,13 +165,13 @@ public class TopologicalBag implements MapBag,V>, VisitableMap< return true; return false; } - public void invoke(K k, Invokable ivbc, B b) { + public void invoke(K k, Invokable ivbc, B b, C c) { int asint = f.invoke(k); for(int i=0; i= asint) { Object[] arr = v[i]; for(int j=0; j