package uk.ac.imperial.lsds.seep.infrastructure;
import java.net.InetAddress;
import java.net.UnknownHostException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ControlEndPoint implements SeepEndPoint {
final private static Logger LOG = LoggerFactory.getLogger(ControlEndPoint.class);
final private int id;
final private String ip;
final private int port;
public ControlEndPoint(int id, String ip, int port) {
this.id = id;
this.ip = ip;
this.port = port;
}
@Override
public int getId() {
return id;
}
@Override
public int getType() {
return SeepEndPointType.CONTROL.ofType();
}
@Override
public InetAddress getIp() {
try {
return InetAddress.getByName(ip);
} catch (UnknownHostException e) {
e.printStackTrace();
}
return null;
}
@Override
public int getPort() {
return port;
}
@Override
public boolean isValid() {
if(ip == null) return false;
return true;
}
@Override
public int hashCode() {
return id;
}
@Override
public boolean equals(Object cep) {
return cep.hashCode() == this.hashCode();
}
/**
* Empty constructor for kryo serialization
*/
public ControlEndPoint() {
this.id = 0;
this.ip = null;
this.port = 0;
}
}