Return the correct value if we're asked for this node's public hostname or
port. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4829 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -179,14 +179,14 @@ public class PeerManager
|
|||||||
_nodeobj.setNodeName(nodeName);
|
_nodeobj.setNodeName(nodeName);
|
||||||
|
|
||||||
// register ourselves with the node table
|
// register ourselves with the node table
|
||||||
final NodeRecord record = new NodeRecord(
|
_self = new NodeRecord(
|
||||||
_nodeName, hostName, (publicHostName == null) ? hostName : publicHostName, port);
|
_nodeName, hostName, (publicHostName == null) ? hostName : publicHostName, port);
|
||||||
_invoker.postUnit(new Invoker.Unit("registerNode") {
|
_invoker.postUnit(new Invoker.Unit("registerNode") {
|
||||||
public boolean invoke () {
|
public boolean invoke () {
|
||||||
try {
|
try {
|
||||||
_noderepo.updateNode(record);
|
_noderepo.updateNode(_self);
|
||||||
} catch (PersistenceException pe) {
|
} catch (PersistenceException pe) {
|
||||||
log.warning("Failed to register node record [rec=" + record +
|
log.warning("Failed to register node record [rec=" + _self +
|
||||||
", error=" + pe + "].");
|
", error=" + pe + "].");
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -376,6 +376,9 @@ public class PeerManager
|
|||||||
*/
|
*/
|
||||||
public String getPeerPublicHostName (String nodeName)
|
public String getPeerPublicHostName (String nodeName)
|
||||||
{
|
{
|
||||||
|
if (_nodeName.equals(nodeName)) {
|
||||||
|
return _self.publicHostName;
|
||||||
|
}
|
||||||
PeerNode peer = _peers.get(nodeName);
|
PeerNode peer = _peers.get(nodeName);
|
||||||
return (peer == null) ? null : peer.getPublicHostName();
|
return (peer == null) ? null : peer.getPublicHostName();
|
||||||
}
|
}
|
||||||
@@ -386,6 +389,9 @@ public class PeerManager
|
|||||||
*/
|
*/
|
||||||
public int getPeerPort (String nodeName)
|
public int getPeerPort (String nodeName)
|
||||||
{
|
{
|
||||||
|
if (_nodeName.equals(nodeName)) {
|
||||||
|
return _self.port;
|
||||||
|
}
|
||||||
PeerNode peer = _peers.get(nodeName);
|
PeerNode peer = _peers.get(nodeName);
|
||||||
return (peer == null) ? -1 : peer.getPort();
|
return (peer == null) ? -1 : peer.getPort();
|
||||||
}
|
}
|
||||||
@@ -1091,6 +1097,7 @@ public class PeerManager
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected String _nodeName, _sharedSecret;
|
protected String _nodeName, _sharedSecret;
|
||||||
|
protected NodeRecord _self;
|
||||||
protected Invoker _invoker;
|
protected Invoker _invoker;
|
||||||
protected NodeRepository _noderepo;
|
protected NodeRepository _noderepo;
|
||||||
protected NodeObject _nodeobj;
|
protected NodeObject _nodeobj;
|
||||||
|
|||||||
Reference in New Issue
Block a user