From ea729356b01c542ff46120de68a10fad34bb538c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kjetil=20=C3=98rbekk?= Date: Wed, 11 Apr 2012 15:27:53 +0200 Subject: Add "masterLocation" variable. This is the protobuffer service location for the master. --- same/src/main/java/com/orbekk/same/Master.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'same/src/main/java/com/orbekk/same/Master.java') diff --git a/same/src/main/java/com/orbekk/same/Master.java b/same/src/main/java/com/orbekk/same/Master.java index 4610540..1b2fbee 100644 --- a/same/src/main/java/com/orbekk/same/Master.java +++ b/same/src/main/java/com/orbekk/same/Master.java @@ -19,23 +19,34 @@ public class Master { private Logger logger = LoggerFactory.getLogger(getClass()); private final ConnectionManager connections; private String myUrl; + private String myLocation; // Protobuf server location, i.e., myIp:port State state; private Broadcaster broadcaster; private volatile int masterId = 1; public static Master create(ConnectionManager connections, - Broadcaster broadcaster, String myUrl, String networkName) { + Broadcaster broadcaster, String myUrl, String networkName, + String myLocation) { State state = new State(networkName); state.update(".masterUrl", myUrl, 1); - return new Master(state, connections, broadcaster, myUrl); + return new Master(state, connections, broadcaster, myUrl, myLocation); } Master(State initialState, ConnectionManager connections, - Broadcaster broadcaster, String myUrl) { + Broadcaster broadcaster, String myUrl, String myLocation) { this.state = initialState; this.connections = connections; this.broadcaster = broadcaster; this.myUrl = myUrl; + this.myLocation = myLocation; + } + + public String getNetworkName() { + return state.getDataOf(".networkName"); + } + + public String getLocation() { + return myLocation; } public String getUrl() { @@ -202,6 +213,8 @@ public class Master { public void resumeFrom(State lastKnownState, final int masterId) { state = lastKnownState; state.update(".masterUrl", myUrl, state.getRevision(".masterUrl") + 100); + state.update(".masterLocation", myLocation, + state.getRevision(".masterLocation") + 100); this.masterId = masterId; broadcaster.broadcast(state.getList(".participants"), new ServiceOperation() { -- cgit v1.2.3