From 400a42930bc9e3bc8075d04f87325ac834f19468 Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Thu, 20 Sep 2007 01:49:56 +0000 Subject: [PATCH] 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 --- .../presents/peer/server/PeerManager.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/java/com/threerings/presents/peer/server/PeerManager.java b/src/java/com/threerings/presents/peer/server/PeerManager.java index b28a7997d..f95346a06 100644 --- a/src/java/com/threerings/presents/peer/server/PeerManager.java +++ b/src/java/com/threerings/presents/peer/server/PeerManager.java @@ -179,14 +179,14 @@ public class PeerManager _nodeobj.setNodeName(nodeName); // register ourselves with the node table - final NodeRecord record = new NodeRecord( + _self = new NodeRecord( _nodeName, hostName, (publicHostName == null) ? hostName : publicHostName, port); _invoker.postUnit(new Invoker.Unit("registerNode") { public boolean invoke () { try { - _noderepo.updateNode(record); + _noderepo.updateNode(_self); } catch (PersistenceException pe) { - log.warning("Failed to register node record [rec=" + record + + log.warning("Failed to register node record [rec=" + _self + ", error=" + pe + "]."); } return false; @@ -376,6 +376,9 @@ public class PeerManager */ public String getPeerPublicHostName (String nodeName) { + if (_nodeName.equals(nodeName)) { + return _self.publicHostName; + } PeerNode peer = _peers.get(nodeName); return (peer == null) ? null : peer.getPublicHostName(); } @@ -386,6 +389,9 @@ public class PeerManager */ public int getPeerPort (String nodeName) { + if (_nodeName.equals(nodeName)) { + return _self.port; + } PeerNode peer = _peers.get(nodeName); return (peer == null) ? -1 : peer.getPort(); } @@ -1091,6 +1097,7 @@ public class PeerManager } protected String _nodeName, _sharedSecret; + protected NodeRecord _self; protected Invoker _invoker; protected NodeRepository _noderepo; protected NodeObject _nodeobj;