X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=lib%2Fjava%2Fdolda%2Fdolcon%2FHub.java;fp=lib%2Fjava%2Fdolda%2Fdolcon%2FHub.java;h=b538053421baf55d47fc09243e6688a7add6d837;hb=7ff32e0f0a14400336fbbbf28401a9dab3f35192;hp=125f17269548c95f158a85182c1225e4d87fedae;hpb=e90ca845da9e7104c8c1cf88964bdc1880561e44;p=doldaconnect.git diff --git a/lib/java/dolda/dolcon/Hub.java b/lib/java/dolda/dolcon/Hub.java index 125f172..b538053 100644 --- a/lib/java/dolda/dolcon/Hub.java +++ b/lib/java/dolda/dolcon/Hub.java @@ -1,12 +1,32 @@ package dolda.dolcon; +import java.util.*; + public class Hub { - int id, numpeers; - String fnet, name, gid; - String state; + int id, numpeers = 0; + final String fnet; + String name = "", gid = ""; + String state = "syn"; + Set ls = new HashSet(); - public Hub(int id) { + public Hub(int id, String fnet) { this.id = id; + this.fnet = fnet.intern(); + } + + public interface Listener { + public void chName(Hub hub); + public void chNumPeers(Hub hub); + public void chState(Hub hub); + } + + public Hub copy() { + Hub ret = new Hub(id, fnet); + ret.numpeers = numpeers; + ret.gid = gid; + ret.state = state; + ret.name = name; + return(ret); } public int getId() { @@ -32,4 +52,14 @@ public class Hub { public String getState() { return(state); } + + public void addListener(Listener ls) { + synchronized(this.ls) { + this.ls.add(ls); + } + } + + public String toString() { + return("Hub (" + id + ", " + fnet + ", \"" + name + "\")"); + } }