summaryrefslogtreecommitdiff
path: root/jsonrpc/src/main/java/com/orbekk/same/SameServiceImpl.java
diff options
context:
space:
mode:
authorKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-01-11 12:42:46 +0100
committerKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-01-11 12:42:46 +0100
commit2b1a0ad7d0e2a7766c6c4e4f5f31a08fb8d89d63 (patch)
treef5e183b5e09dc12610f2f8227fb49e8bb15d0a71 /jsonrpc/src/main/java/com/orbekk/same/SameServiceImpl.java
parenta88ef239b58ba926f9ce29e2b87d636fae18aaf4 (diff)
Add IP discovery.
Before a client wants to join a network, it may send a HTTP "ping" request to a known participant. The participant will send a HTTP "pong" request in response, which informs the client of its IP address. The IP address of a client is automatically retrieved from the first HTTP request received by Jetty.
Diffstat (limited to 'jsonrpc/src/main/java/com/orbekk/same/SameServiceImpl.java')
-rw-r--r--jsonrpc/src/main/java/com/orbekk/same/SameServiceImpl.java17
1 files changed, 7 insertions, 10 deletions
diff --git a/jsonrpc/src/main/java/com/orbekk/same/SameServiceImpl.java b/jsonrpc/src/main/java/com/orbekk/same/SameServiceImpl.java
index e7484c1..533a055 100644
--- a/jsonrpc/src/main/java/com/orbekk/same/SameServiceImpl.java
+++ b/jsonrpc/src/main/java/com/orbekk/same/SameServiceImpl.java
@@ -6,34 +6,31 @@ import java.util.LinkedList;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class SameServiceImpl implements SameService, CallerInfoListener {
+public class SameServiceImpl implements SameService {
private Logger logger = LoggerFactory.getLogger(getClass());
private SameState sameState;
- private String currentCallerIp;
public SameServiceImpl(SameState sameState) {
this.sameState = sameState;
}
@Override
- public void setCaller(String callerIp) {
- currentCallerIp = callerIp;
- }
-
- @Override
public void notifyNetwork(String networkName) {
logger.info("Notification from network " + networkName);
}
@Override
public void participateNetwork(String networkName, String clientId,
- String url, int remotePort) {
+ String url) {
if (!networkName.equals(sameState.getNetworkName())) {
logger.warn("Client tried to join {}, but network name is {}.",
networkName, sameState.getNetworkName());
+ return;
}
- if (url.equals("")) {
- url = "http://" + currentCallerIp + ":" + remotePort;
+ if (clientId.equals("") || url.equals("")) {
+ logger.warn("Missing client info: ClientId({}), URL({}).",
+ clientId, url);
+ return;
}
sameState.addParticipant(clientId, url);
}