diff --git a/src/java/com/threerings/presents/peer/server/PeerManager.java b/src/java/com/threerings/presents/peer/server/PeerManager.java index a1c5e13d0..eb91eb39e 100644 --- a/src/java/com/threerings/presents/peer/server/PeerManager.java +++ b/src/java/com/threerings/presents/peer/server/PeerManager.java @@ -875,7 +875,8 @@ public abstract class PeerManager { PeerNode peer = _peers.get(record.nodeName); if (peer == null) { - _peers.put(record.nodeName, peer = createPeerNode()); + peer = _injector.getInstance(getPeerNodeClass()); + _peers.put(record.nodeName, peer); peer.init(this, _omgr, _conmgr, record); } peer.refresh(record); @@ -978,9 +979,9 @@ public abstract class PeerManager /** * Creates a {@link PeerNode} to manage our connection to the specified peer. */ - protected PeerNode createPeerNode () + protected Class getPeerNodeClass () { - return new PeerNode(); + return PeerNode.class; } /** diff --git a/src/java/com/threerings/presents/peer/server/PeerNode.java b/src/java/com/threerings/presents/peer/server/PeerNode.java index 78ab89004..8572964a7 100644 --- a/src/java/com/threerings/presents/peer/server/PeerNode.java +++ b/src/java/com/threerings/presents/peer/server/PeerNode.java @@ -25,6 +25,8 @@ import java.net.ConnectException; import java.util.Date; +import com.google.inject.Inject; + import com.samskivert.util.ResultListenerList; import com.threerings.presents.client.BlockingCommunicator;