From c2d5b28b39f4e6436502d94ce9f8aed308bbea67 Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Sun, 8 Jun 2008 20:55:33 +0000 Subject: [PATCH] Make the PeerManager and CrowdPeerManager abstract to ensure that a failure to bind something to PeerManager.class will result in initialization failure. A system that uses the peer services needs to extend PeerManager or CrowdPeerManager with a concrete PeerManager and then bind(PeerManager.class).to(SomePeerManager.class) to properly satisfy the dependency. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5171 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../com/threerings/crowd/peer/server/CrowdPeerManager.java | 2 -- src/java/com/threerings/presents/peer/server/PeerManager.java | 4 +--- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/java/com/threerings/crowd/peer/server/CrowdPeerManager.java b/src/java/com/threerings/crowd/peer/server/CrowdPeerManager.java index 1af71e647..508079a81 100644 --- a/src/java/com/threerings/crowd/peer/server/CrowdPeerManager.java +++ b/src/java/com/threerings/crowd/peer/server/CrowdPeerManager.java @@ -22,7 +22,6 @@ package com.threerings.crowd.peer.server; import com.google.inject.Inject; -import com.google.inject.Singleton; import com.threerings.util.Name; @@ -50,7 +49,6 @@ import com.threerings.crowd.peer.data.CrowdPeerMarshaller; /** * Extends the standard peer manager and bridges certain Crowd services. */ -@Singleton public class CrowdPeerManager extends PeerManager implements CrowdPeerProvider, ChatProvider.ChatForwarder { diff --git a/src/java/com/threerings/presents/peer/server/PeerManager.java b/src/java/com/threerings/presents/peer/server/PeerManager.java index baf494bd5..ddad6b287 100644 --- a/src/java/com/threerings/presents/peer/server/PeerManager.java +++ b/src/java/com/threerings/presents/peer/server/PeerManager.java @@ -34,7 +34,6 @@ import java.util.List; import com.google.common.collect.Maps; import com.google.inject.Inject; -import com.google.inject.Singleton; import com.samskivert.jdbc.RepositoryUnit; import com.samskivert.jdbc.WriteOnlyUnit; @@ -85,8 +84,7 @@ import static com.threerings.presents.Log.log; * client connection to the other servers and subscribes to the {@link NodeObject} of all peer * servers and uses those objects to communicate cross-node information. */ -@Singleton -public class PeerManager +public abstract class PeerManager implements PeerProvider, ClientManager.ClientObserver, ShutdownManager.Shutdowner { /**